Xpages 动态视图面板和onColumnClick(CSJS)事件出现问题

Xpages 动态视图面板和onColumnClick(CSJS)事件出现问题,xpages,xpages-extlib,Xpages,Xpages Extlib,使用动态视图面板并尝试使用客户端JS在onColumnClick事件中获取用户单击的行的UNID或NoteID。但是,XPage不会加载如下所示的错误 执行JavaScript操作表达式时出错 脚本解释器错误,行=1,列=9:[ReferenceError]“rowData”未找到 JavaScript代码 1:rowData.getNoteID() 完整的XPage代码如下所示。是否有方法获取行信息的句柄以构建此事件处理程序?目标是使用客户端JS打开一个新选项卡,显示用户单击的文档 霍华德

使用动态视图面板并尝试使用客户端JS在onColumnClick事件中获取用户单击的行的UNID或NoteID。但是,XPage不会加载如下所示的错误

执行JavaScript操作表达式时出错 脚本解释器错误,行=1,列=9:[ReferenceError]“rowData”未找到

JavaScript代码

1:rowData.getNoteID()

完整的XPage代码如下所示。是否有方法获取行信息的句柄以构建此事件处理程序?目标是使用客户端JS打开一个新选项卡,显示用户单击的文档

霍华德


您无法使用CSJS代码中的
警报('{javascript:rowData.getNoteID()}')
计算行的noteId,因为这是在呈现所有行之前在服务器端执行的

改用
rowAttrs
属性。它允许您向呈现的表行添加属性。您需要添加一个属性“noteId”:


呈现的html如下所示:

onColumnClick事件在渲染时触发

谢谢,我正在查看rowattr,但不知道如何在CSJS中获取值。伟大的解决方案!霍华德
<xe:dynamicViewPanel
    id="dynamicViewPanel1"
    var="rowData"
    indexVar="index">
    <xe:this.data>
        <xp:dominoView
            var="view1"
            viewName="testview">
        </xp:dominoView>
    </xe:this.data>
    <xp:eventHandler
        event="onColumnClick"
        submit="false">
        <xe:this.script><![CDATA[alert('#{javascript:rowData.getNoteID()}');]]></xe:this.script>
    </xp:eventHandler></xe:dynamicViewPanel></xp:view>