1

InfoPath フォームにいくつかの繰り返しテーブルがあります。基本的に、それぞれに一連の文字列がリストされ、横にチェックボックスがあります。ユーザーが送信をクリックすると、繰り返しテーブルごとに少なくとも 1 つのチェックボックスがオンになっていることを確認したいと思います。

検証変数を true または false に設定するテーブルの検証イベント ハンドラーを作成している最中でしたが、検証イベントと変更イベントではメイン データ ソースが読み取り専用であることに気付きました。

フォームが送信される前に、繰り返しテーブルで何かがチェックされていることを確認するにはどうすればよいですか?

[注] フォームはブラウザと互換性がある必要があるため、複数選択コントロールの代わりに繰り返しテーブルを使用しています。

前もって感謝します

4

1 に答える 1

0

あなたには 2 つの選択肢があると思います (そして、これらは私の頭の上にあるものであり、実際には同様のフォーム ソリューションを構築しているわけではありません)。

1) チェックボックスの 1 つが選択されているかどうかを評価する XPath 式を作成します。非表示のノード (ビュー内のコントロールにバインドされていないノード) をフォームに追加し、この検証プロパティを追加します。

2) イベント ハンドラーの作成を続けて、コードでカスタム検証ロジックを実行した後に送信イベントをキャンセルします。

http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.formevents.submit(VS.80).aspx

于 2009-05-17T01:16:54.273 に答える