希望在View Panel列中执行操作以设置筛选条件并打开另一个XPage



我有一个视图面板控件,它显示一个文档列表和每个文档的一些信息。其中一列是记录在文档中的项的存储位置。我想让该列成为一个可单击的链接,这样当用户单击它时,他们就会转到另一个XPage,该XPage显示具有该存储位置的所有文档。一个例子:

ID          Location
12345678    ABCD
98765432    WXYZ
11223344    ABCD

单击ID将打开该文档,但单击ABCD将转到一个XPage,该XPage将显示位置为ABCD的所有文档。

这是我为列值设置的:

<xp:this.value><![CDATA[#{javascript:return "<script>sessionScope.set("trayId","+rowData.getColumnValue('StorageLocationID')+");</script><a href="./location.xsp">"+rowData.getColumnValue('StorageLocationID')+"</a>";}]]></xp:this.value>

它正确显示值并转到正确的XPage,但我不知道如何设置我可以用来过滤位置数据源的sessionScope变量。XSP只显示一个位置。我认为我必须在列中创建HTML,因为当我设置"显示列中的值为链接"并使用onclick事件为位置名称设置sessionScope变量,然后打开location.xsp.

我可能会在重复控件中这样做,但似乎应该有一种方法使此工作在视图面板,因为我觉得我真的很接近。

不设置sessionScope变量,只需添加参数?location=到URL:

<xp:this.value><![CDATA[#{javascript:"<a href="./location.xsp?location=" + rowData.getColumnValue('StorageLocationID') + "">"+rowData.getColumnValue('StorageLocationID')+"</a>"}]]></xp:this.value>

contentType="HTML"标记位置列,并在位置中使用URL位置参数。XSP用于筛选您的位置视图:

    <xp:this.data>
        <xp:dominoView var="viewLocations" viewName="Locations"
            keys="#{javascript:context.getUrlParameter('location')}"
            keysExactMatch="true">
        </xp:dominoView>
    </xp:this.data>

最新更新