既存のLotusNotesデータベースを使用して、Xpagesに変換しています。3つの複数値フィールドを含むテーブルの1つがあり、区切り文字としての改行と、データの入力および削除方法を制御する[新規追加]、[変更]、および[削除]ボタンがあります。顧客はXPageがNotesGUIにできるだけ似ていることを望んでおり、私は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>