0

SearchScreen には、テーブルの結果をフィルター処理するためのプロパティがいくつかあります。

  • その月の ComboBox。
  • 今年のコンボボックス。
  • 顧客の ComboBox (DateBegin、DateEnd の 2 つのパラメーターを使用したクエリに基づく)

3 番目の ComboBox をフィルタリングして、Month および Year コンボボックスから選択した期間に「アクティブ」な顧客のみを表示する必要があります。

「prpDateBeginSelected」と「prpDateEndSelected」という名前の 2 つのプロパティ (Date) を使用し、顧客の ComboBox にリンクされた自分のクエリにリンクしています。

Month と Year で _Changed イベントを使用して、プロパティに日付を割り当てます。

画面がロードされた後に最初の選択を行うと、それが機能し、顧客のコンボボックスが適切な期間にフィルタリングされます。しかし、その後、月または年を変更すると、顧客のコンボボックスがリロードされません。

this.qCustomersByPeriod.Refresh();コードでa を実行しようとしましたが、変更はありません。

手伝ってくれてありがとう。

PS : 必要に応じて、アイデアを示すサンプルを作成できます。

編集:私を理解するのに役立つサンプル。LS_SearchFiltered.zip (58.6 月)

4

1 に答える 1

0

投稿の説明だけで混乱したので、解決策を提供してくれて良かったです。実際、ソリューションの問題はデータバインディングでした。QueryDataByCustomerAndPeriod.CustomerIdのデータ バインディングを間違えました。 QueryCustomersByDate.SelectedItem.Idである必要があります。また、一般的な prpCustomer を使用する代わりに、QueryCustomersByDateの選択されたアイテムを使用して、関連する Id を取得する必要があります。すべてを明確にするために、以下のスクリーンショットを参照してください。これで問題が解決することを願っています。

覚えておくべきこと - View-Model でのデータ ビディングを注意深く確認してください - どのリンクが何にリンクされているか。

QueryDataByCustomerAndPeriod.CustomerId の問題

QueryDataByCustomerAndPeriod.CustomerId のバインドを修正します

于 2013-08-03T13:36:36.193 に答える