0

我创建了一个包含一些文档的视图。我希望能够单击特定文档旁边的复选框并将它们移动到另一个视图(或以某种方式将它们显示在另一个页面上)并再次返回。所以基本上我希望能够存档文档,然后转到我发送这些文档的页面并将它们从存档中删除,回到文档最初所在的视图。

到目前为止我有(这是我在 xpage 上的视图表,我的文档旁边有一个复选框)

<xp:viewPanel rows="10" id="viewPanel2" viewStyle="width:700.0px">
    <xp:this.facets>
        <xp:pager partialRefresh="true" layout="Previous Group Next"
            xp:key="headerPager" id="pager2">
        </xp:pager>
    </xp:this.facets>
    <xp:this.data>
        <xp:dominoView var="allDocsView" viewName="profilesAllDocs">
        </xp:dominoView>
    </xp:this.data>
    <xp:viewColumn columnName="LastActivationDate" id="viewColumn6"
        style="font-size:12pt" showCheckbox="true">
        <xp:viewColumnHeader value="Last Activation Date"
            id="viewColumnHeader6" sortable="true" style="font-size:12pt">
        </xp:viewColumnHeader>
    </xp:viewColumn>
    <xp:viewColumn columnName="LoggerID" id="viewColumn7"
        displayAs="link" openDocAsReadonly="true" style="font-size:12pt">
        <xp:this.converter>
            <xp:convertNumber type="number" integerOnly="true">
            </xp:convertNumber>
        </xp:this.converter>
        <xp:viewColumnHeader value="Logger ID" id="viewColumnHeader7"
            style="font-size:12pt">
        </xp:viewColumnHeader>
    </xp:viewColumn>
    <xp:viewColumn columnName="ExpectedArrivalDate" id="viewColumn8"
        style="font-size:12pt">
        <xp:viewColumnHeader value="Expected Arrival Date"
            id="viewColumnHeader8" style="font-size:12pt">
        </xp:viewColumnHeader>
    </xp:viewColumn>
    <xp:viewColumn columnName="Status" id="viewColumn9"
        style="font-size:12pt">
        <xp:viewColumnHeader value="Status" id="viewColumnHeader9"
            style="font-size:12pt">
        </xp:viewColumnHeader>
    </xp:viewColumn>
    <xp:viewColumn columnName="Alert" id="viewColumn10"
        style="font-size:12pt">
        <xp:viewColumnHeader value="Alert" id="viewColumnHeader10"
            style="font-size:12pt">
        </xp:viewColumnHeader>
    </xp:viewColumn>
</xp:viewPanel>

我还创建了一个按钮。这个想法是使用复选框选择一些文档,单击此按钮,它将文档发送到另一个 xpages(存档)。

我不确定为按钮和复选框分配什么代码,以及按钮如何知道将文档发送到哪里。任何建议将不胜感激。

4

2 回答 2

4

如果您需要将文档从一个视图发送到另一个视图,那么您需要查看该视图的选择公式。然后设置文档的必填字段的值,使其满足该选择公式。如果您想将文档恢复到其原始视图,也会发生同样的情况。

在 XPages 中,您可以使用以下代码获取所选文档的注释 ID(无耻地从这里提取:))

var viewPanel=getComponent("viewPanel2");
var docIDArray = viewPanel.getSelectedIds();
for(i=0; i < docIDArray.length; i++) {
   var doc = database.getDocumentByID(docIDArray[i]);
    // Code to manipulate the 'doc' object
}
于 2013-03-26T10:57:38.343 回答
0

毕竟,我真的不需要移动文档,只需将它们隐藏起来,正如你们中的一些人所建议的那样。

我有一个视图,其中包含一个名为 Archive 的列,该列被隐藏以用于演示目的。存档中的值为否或是(否 - 未存档,是 - 存档)。下一列有一个复选框,用于选择需要存档的行。我所做的只是将视图设置为“按列值过滤”并将字段设置为否。这样,视图显示的行在存档下只有否。要存档一行,我有一个带有此代码的按钮

var viewPanel=getComponent("viewPanel1");
var docIDArray=viewPanel.getSelectedIds();
for(i=0;i < docIDArray.length; i++)
{
var docId=docIDArray[i];
var doc=database.getDocumentByID(docId);
doc.replaceItemValue("Archive","Yes");
doc.save();
}

该代码将存档中的值从“否”更改为“是”并将其隐藏在视图中。要从存档中删除文档相同的方法,但它将显示所有值为 Yes 并将 Archive 字段更改为 No。

于 2013-06-28T11:36:44.650 回答