2

attrs中身を使おうとしています<xp:viewColumn>。以下は私のコードからの小さなスニペットです。

<xp:viewPanel rows="5" id="viewPanel1" var="rowDocument">
  <xp:this.facets>
    <xp:pager partialRefresh="true" layout="Previous Group Next" xp:key="headerPager" id="pager1"></xp:pager>
  </xp:this.facets>
  <xp:this.data>
    <xp:dominoView var="view1" viewName="MyView"></xp:dominoView>
  </xp:this.data>
  <xp:viewColumn columnName="$22" id="viewColumn1">
    <xp:this.attrs>
      <xp:attr name="draggable" value="true"></xp:attr>
      <xp:attr name="onDragStart">
        <xp:this.value><![CDATA[dragIt(event, "SOME VALUE");]]></xp:this.value>
      </xp:attr>
    </xp:this.attrs>
    <xp:viewColumnHeader value="Name" id="viewColumnHeader1"></xp:viewColumnHeader>
  </xp:viewColumn>
</xp:viewPanel>

draggable基本的に、ドラッグ アンド ドロップ機能を使用する属性を追加しています。<td>ただし、生成された HTML は、ビュー データ用に生成されたまたは<span>タグにこの属性を追加しません。生成された HTML は次のようになります。

<table id="view:_id1:viewPanel1" class="xspDataTable">
  <thead>
    <tr>
      <th scope="col">
        <div class="xspPanelViewColumnHeader"><span><span id="view:_id1:viewPanel1:viewColumn1:__internal_header_title_id" class="xspPanelViewColumnHeader">Name</span></span></div>
      </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td class="xspColumnViewEnd"><span id="view:_id1:viewPanel1:0:viewColumn1:_internalViewText" class="xspTextViewColumn">Data 1</span></td>
    </tr>
    <tr>
      <td class="xspColumnViewEnd"><span id="view:_id1:viewPanel1:1:viewColumn1:_internalViewText" class="xspTextViewColumn">Data 2</span></td>
    </tr>
    ..........
  </tbody>
</table>

個々の行データに属性を追加しないのはなぜですか? 他に方法はありますか?

更新:追加attrsすると<xp:viewColumnHeader>、生成された HTML コードに追加の属性が表示されます。

4

1 に答える 1

0

生成された出力に対してより多くの(または全体的な)制御が必要な場合は、viewPanelの代わりに繰り返し制御を使用する方がおそらく良いでしょう。

<xp:this.data>
    <xp:dominoView var="view2" viewName="MyView"></xp:dominoView>
</xp:this.data>

<xp:repeat id="repeat1" rows="5" value="#{view2}" var="viewRow">

    <xp:this.facets>
        <xp:text xp:key="header" disableTheme="true" escape="false">
            <xp:this.value><![CDATA[<table><tbody>]]></xp:this.value>
        </xp:text>
        <xp:text xp:key="footer" disableTheme="true" escape="false">
            <xp:this.value><![CDATA[</tbody></table>]]></xp:this.value>
        </xp:text>
    </xp:this.facets>

    <tr>
        <xp:text escape="false" tagName="td" value="#{viewRow.$22}">
            <xp:this.attrs>
                <xp:attr name="draggable" value="true"></xp:attr>
                <xp:attr name="onDragStart">
                    <xp:this.value><![CDATA[dragIt(event, "SOME VALUE");]]></xp:this.value>
                </xp:attr>
            </xp:this.attrs>
        </xp:text>
    </tr>

</xp:repeat>
于 2012-04-20T08:13:49.653 に答える