我正在尝试使用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
属性来使用拖放功能。但生成的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 :(得分: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>