0

うまくいけば、誰かが私の問題を解決してくれます。

背景 プロジェクトのリスクを評価するための InfoPath フォームを作成しました。ユーザーがシナリオを選択できるようにすると、フォームはリスク クラスと一連のアクションを返します。テキスト ボックスにアクション リストを表示できなかったため、アクションは複数選択リスト ボックスとしてフォームに表示されます。

フォームは複数の場所で使用されるため、オーストラリア中の複数の SharePoint サイトに公開され、すべてのシナリオとアクションを簡単に更新できるように、ユニバーサル SharePoint リストから読み込まれます。これにより、更新のたびにフォームを再発行する必要がなくなります。

問題 新しいバージョンのフォームが公開された場合。たとえば、シナリオまたはアクションのいずれかが変更されます。フォームで以前に送信された回答が古いバージョンでは関連しない可能性があるため、以前に送信されたフォームを変更することはできません。

シナリオ フィールドは 1 回だけロードするようにタグ付けできるため、これは問題ではありません。ただし、複数選択リスト ボックスの動作は異なり、フォームが開かれるたびにデータが読み込まれます。

質問 複数選択リスト ボックスに一度だけデータをロードする方法はありますか?

とにかく、最初にフォームを開いたときに一度だけロードできる箇条書きリストまたはその他のフィールドにデータをロードできますか?

うまくいけば、誰かが助けてくれるでしょう。

4

2 に答える 2

2

私は同じ問題を抱えていました-以前に送信された古いフォームのデータが、将来開かれたときにドロップダウンやテーブルなどのデータを更新することは望ましくありません。データベースの値が変更されたかどうかに関係なく、送信されたときと同じデータを常に使用する必要があります。

これを行うには、最初に「フォームを開いたときにデータを自動的に入力する」オプションのチェックを外しました。次に、X日後にデータが期限切れになるように指示するオプションのチェックを外しました。そのため、フォームにデータがキャッシュされることが常にわかっています。

次に、天気のマーカーとして機能するフィールドを作成し、データベースから値を更新するかどうかを指定しました。次に、カスタム コードを使用して、必要に応じてデータベースからセカンダリ データソースを更新しました。フォーム読み込みイベントで、from が既に送信されているか、マーカー フィールドを使用していないかを確認します。以前に送信されていない場合 - データを更新します。以前に送信された場合は、データを更新しません。

フォームの送信時に、フォームがロックされていることを示すようにマーケット フィールドを設定し、セカンダリ ソースを更新してはなりません

あなたが私の考えを理解してくれることを願っています。乾杯

于 2012-11-14T09:27:36.173 に答える
0

フォームの新しいバージョンが公開された場合。たとえば、シナリオやアクションのいずれかが変更されます。以前に送信されたフォームの回答は古いバージョンとは関係がない可能性があるため、以前に送信されたフォームを変更することはできません。

以前に作成されたXMLデータフォームは、作成されたXSNテンプレートで開かれるため(つまり、以前に作成されたXMLデータフォームは古いXSNテンプレートフォームを使用して開かれる)、問題がわかりません。そうでない場合は、なぜそれが失敗しているのかという質問を開きます。

また、なぜ外部ソースから選択肢をロードする必要があるのか​​わかりません。一度だけ修正する必要がある場合は、テンプレート自体に埋め込まれたリソースXMLファイルまたは手動で入力した選択肢からロードしてください(マルチ選択リストのプロパティに手動で選択肢を入力してください)箱)。したがって、それらは使用されたテンプレートに保存されます

チェックしてください

デフォルトデータを使用してInfopathでクイズフォームを作成するためのより良い方法に関するステップバイステップのチュートリアル(モジュール内の質問と回答)

于 2012-09-18T18:07:10.987 に答える