0

使用默认的 OneUI 主题,我想突出显示单行,即使设置了更多列。对于 3 列,它呈现为:

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

我尝试设置属性 rowStyleClass="row#{i}",以演示它的呈现方式:

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

所以它适用于表格行中的所有数据行——同时适用于所有三个文档。

我知道我可以制作自己的渲染器,或者使用 dojo/jQ 来后处理 DOM,但我正在寻找最简单的 CSS 设置来基于视图条目属性突出显示整个 TD。

示例来源:

<?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>

这表明,对于所有 3 列 styleClass<TR>仅由第一个单元格/文档评估。无法设置其余 dataView 行(最多包含三个文档)的样式。我想根据某些条件(例如空邮件地址或某些特定域)突出显示文档。

4

1 回答 1

0

你应该能够做到:

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

用于交替行。

如果您不想交替使用相同的方法,但要突出显示某些行。这里很可能您需要使用 SSJS 来评估您的条件并将行变量作为参数传递。

于 2013-04-11T15:28:46.450 回答