0

With default OneUI theme I want to highlight single row, even with more column setup. For 3 columns it renders as:

<TR>
  <TD>
  <TD>
  <TD>

I have tried to set property rowStyleClass="row#{i}", to demonstrate how it renders:

<TR class="row0">
  <TD>
  <TD>
  <TD>
<TR class="row3">
  <TD>
  <TD>
  <TD>
<TR class="row6">
  <TD>
  <TD>
  <TD>

So it applies to all data rows in table row - all three documents at once.

I know I can make my own renderer, or to use dojo/jQ to postprocess DOM, but I am looking for simplest CSS setup to highlight entire TD based on view entry attribute.

Example source:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
 xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xp:this.data>
        <xp:dominoView var="view1" databaseName=" names.nsf"
            viewName="PeopClver">
        </xp:dominoView>
    </xp:this.data>
    <xe:dataView id="dataView1" value="#{view1}" rowStyleClass="#{ve.$17}"
        var="ve" multiColumnCount="3">
        <xe:this.summaryColumn>
            <xe:viewSummaryColumn columnName="$17"></xe:viewSummaryColumn>
        </xe:this.summaryColumn>
        <xe:this.extraColumns>
            <xe:viewExtraColumn columnName="$26"></xe:viewExtraColumn>
        </xe:this.extraColumns>
        <xe:this.categoryColumn>
            <xe:viewCategoryColumn columnName="ClntBld"></xe:viewCategoryColumn>
        </xe:this.categoryColumn>
    </xe:dataView>
</xp:view>

This demonstrates, that for all 3 columns styleClass for <TR> is evaluated by first cell/document only. Rest of dataView row (containing up to three documents) can not be styled. And I want to highlight documents based on some condition (for example empty mail address or in some specific domain).

Cœur
  • 37,241
  • 25
  • 195
  • 267
Frantisek Kossuth
  • 3,524
  • 2
  • 23
  • 42

1 Answers1

0

you should be able to do:

rowStyleClass="row#{(i%2)=1 ? 'oddRow' : 'evenRow'}"

for alternating rows.

The same approach works if you don't want to alternate, but to highlight some rows. Here most likely you need to use SSJS to evaluate your condition and pass the row variable in as parameter.

stwissel
  • 20,110
  • 6
  • 54
  • 101