我有一个<xp:viewColumn>
用于文档锁定目的的自定义控件;我需要将视图面板中的行数据变量作为自定义属性传递给我的自定义控件。
我在自定义控件上定义了一个新属性:
名称:rowEntry
类型:com.ibm.xsp.model.ViewRowData
这是我ccColDocLocking
在我的视图面板中的一个例子;如果我在所有视图面板上使用相同的 var,它工作正常,但是,我不想对其进行硬编码。
<xp:viewPanel rows="15" id="viewPanel1" viewStyle="width:100%"
rowClasses="even,odd" var="rowData">
<xp:this.data>
<xp:dominoView viewName="IntakeForms" var="view1"></xp:dominoView>
</xp:this.data>
<xc:ccColDocLocking rowEntry="#{javascript:rowData}"></xc:ccColDocLocking>
<xp:viewColumn columnName="reqDate" id="viewColumn1"
displayAs="link" openDocAsReadonly="true">
<xp:this.converter>
<xp:convertDateTime pattern="MM/dd/yyyy"></xp:convertDateTime>
</xp:this.converter>
<xp:viewColumnHeader value="Request Date"
id="viewColumnHeader1" sortable="true">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:view>
这是来自我的自定义控件:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:viewColumn id="viewColDocLock">
<xp:this.facets>
<xp:viewColumnHeader xp:key="header" id="viewColumnHeader5">
</xp:viewColumnHeader>
</xp:this.facets>
<xp:this.value><![CDATA[#{javascript:""}]]></xp:this.value>
<xp:image id="imgDocLock">
<xp:this.url><![CDATA[#{javascript:if (rowData.getDocument().hasItem("$Writers") != "") {
return "/locked.gif";
}}]]></xp:this.url>
<xp:this.alt><![CDATA[#{javascript:"Document locked by " + @Name('[Abbreviate]', rowData.getDocument().getItemValueString("$Writers"))}]]></xp:this.alt>
<xp:this.title><![CDATA[#{javascript:"Document locked by " + @Name('[Abbreviate]', rowData.getDocument().getItemValueString("$Writers"))}]]></xp:this.title>
</xp:image>
</xp:viewColumn>
</xp:view>
我得到的错误是:[ReferenceError] 'compositeData' not found
当我尝试替换rowData.getDocument()
为compositeData.rowEntry.getDocument()