0

既存の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>
4

1 に答える 1

2

私は次のことを言うでしょう

  1. 複数値フィールドからデータを抽出し、読み取り専用で印刷する繰り返しコントロールを作成します。繰り返しコントロールは、onclick イベントでイベント ハンドラーがバインドされた tr 構造体を生成します。このようなもの:

ここに画像の説明を入力

2 onclick イベントで、(dojo を使用して) tr クライアント側のスタイルを変更し、ユーザーがその行を選択したことを認識し、その行の ID/識別子をスコープ付きの var に設定する

3 繰り返しコントロールの上に、追加、削除、更新などのコントロールを追加します。追加と更新によりダイアログ ボックスが開き、選択した行からデータが読み込まれます (追加アクションの場合は何も読み込まれません)。削除コントロールは、複数行の値フィールドからデータを削除し、ドキュメントを保存して、繰り返しコントロールを再表示します。

これはうまくいくはずです。

于 2013-01-18T19:21:10.343 に答える