表单中从Lotus Notes到XPages的动态表

表单中从Lotus Notes到XPages的动态表,xpages,Xpages,我正在使用一个现有的LotusNotes数据库并转换为Xpages。其中一个表包含3个多值字段,新行作为分隔符,“添加新”、“修改”和“删除”按钮控制数据的输入和删除方式。客户希望XPage看起来尽可能类似于notesgui,我想我应该使用dijit对话框来添加新行并确定删除和修改。但据我所知,该对话框只能在客户端使用,输入到对话框中的数据不能放到Xpage上。这是真的吗?我想我会在repeat中使用一个可编辑的字段,但我也不能正常工作 基本上,解决方案必须显示过去文档的多值字段,并允许用户编辑

我正在使用一个现有的LotusNotes数据库并转换为Xpages。其中一个表包含3个多值字段,新行作为分隔符,“添加新”、“修改”和“删除”按钮控制数据的输入和删除方式。客户希望XPage看起来尽可能类似于notesgui,我想我应该使用dijit对话框来添加新行并确定删除和修改。但据我所知,该对话框只能在客户端使用,输入到对话框中的数据不能放到Xpage上。这是真的吗?我想我会在repeat中使用一个可编辑的字段,但我也不能正常工作

基本上,解决方案必须显示过去文档的多值字段,并允许用户编辑那些旧文档……此外,在创建新文档时,其工作方式与过去类似/完全相同

提前感谢您对我的帮助,因为这似乎比我想象的要容易得多

我只是想在下面的解决方案之后进行更新,这似乎是解决这个问题的一个很好的方法。然而,作为一个公认的XPages新手,我真的很难应用这个概念。这就是我所拥有的,它显然不起作用

从逻辑上讲,这听起来是一个很好的解决方案。然而,我不是xpages专家,我只是无法让它正常工作,甚至无法开始。任何能让我更容易开始的事情都会有很大的帮助。我不是一个经常寻找“答案”的人……我只是很难处理这个多值字段表问题。再次提前感谢…这是我写的,有500个错误。“A”是多值字段名

<xp:table>
    <xp:tr>
        <xp:td>
            <xp:repeat id="repeat1" rows="30" var="rowdata">
                <xp:this.value><![CDATA[#{javascript:document1.getItemValue("A")}]]></xp:this.value>
                <xp:tr id="valueRow">
                    <xp:td>
                        <xp:text
                            value="#{javascript: return rowdata[i]}" />
                    </xp:td>
                    <xp:eventHandler event="onclick" submit="false"
                        refreshMode="partial" execMode="partial" execId="valueRow"
                        immediate="true">
                        <xp:this.action>
                            <![CDATA[#{javascript:document1.getItemValue("A")}]]>
                        </xp:this.action>
                    </xp:eventHandler>
                </xp:tr>
            </xp:repeat>
        </xp:td>
    </xp:tr>
</xp:table>

我要说的是,请执行以下操作

  • 创建一个repeat控件,该控件将从多值字段中提取数据并以只读方式打印。repeat控件将在onclick事件上生成一个tr结构,其中绑定了一个事件处理程序。大概是这样的:
  • 2在onclick事件中,更改tr clientside的样式(使用dojo),以便人们知道他们选择了该行,并在一个作用域变量中设置该行的id/标识符

    3上面的重复控件添加控件,如添加、删除、更新。添加和更新将打开一个对话框,并从所选行读取数据(如果是添加操作,则无数据)。delete控件将从多行值字段中删除数据,保存文档并重新引用repeat控件


    这应该行得通

    我认为重复控制是更好的选择。您可以自定义外观,使其与旧系统更加匹配,添加按钮并使字段链接以访问实际文档。注意9编写了一个类似于此的教程。这里是链接。我在上面的原始问题上添加了一些评论。谢谢你的帮助,但到目前为止,我仍在为你的优秀建议的概念和应用而挣扎。