2012-04-19 31 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 2012-04-20 09:18:33