【发布时间】:2013-01-18 17:17:43
【问题描述】:
我正在使用现有的 Lotus Notes 数据库并转换为 Xpages。其中一个表包含 3 个多值字段,以新行作为分隔符,“添加新”、“修改”和“删除”按钮控制数据的输入和删除方式。客户希望 XPage 看起来尽可能类似于 Notes GUI,我想我会使用 dijit 对话框来添加新行并找出删除和修改。但据我所知,对话框只能在客户端使用,输入对话框的数据不能带到Xpage上。这是真的?我在想我会在重复中使用可编辑字段,但我也无法正常工作。
基本上,该解决方案必须显示过去文档的多值字段,并且还能够允许用户编辑那些旧文档...加上在创建新文档时的工作方式与过去类似/完全相同。
在此先感谢您提供的任何帮助,因为这似乎比我想象的要容易得多。
我只是想在下面的解决方案之后更新,这似乎是解决这个问题的好方法。然而,作为一个公认的 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>
【问题讨论】:
-
我认为重复控制是更好的选择。您可以自定义外观以更接近旧系统,添加按钮并使字段链接以访问实际文档。
-
NotesIn9 做了一个教程,与此类似。链接在这里。 youtube.com/watch?v=ZwTNARkKDAQ
标签: xpages