2012-04-19 11 views
2

<xp:viewColumn>の中にattrsを使用しようとしています。以下は私のコードから小さなスニペットです。<xp:viewColumn>でattrs(属性リスト)を使用する

<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属性を追加しています。しかし、生成されたHTMLは、この属性をビューデータ用に生成された<td>または<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コードに追加の属性が表示されます。

答えて

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> 
+0

繰り返して、私が持っているだろう主な理由は、私の最後のオプションでしたあなたのコードスニペットと同じように自分自身ですべてを作成してください。ですから ''でこれを動作させる方法はありませんか?はいの場合、 ''に 'attrs'のプロパティがあるのはなぜですか?バグですか? – Naveen

関連する問題