だから私はこのアプリケーションを持っており、クエリに基づいて簡単な検索画面を作成する必要があります(このクエリは指定された検索条件のすべての金融取引を取得します)
だから私が欲しいのは、検索結果の合計を表示する計算フィールドを画面に追加することです。 すべてのレコードの合計ではありません。
金融取引テーブルに計算フィールドを追加しようとしましたが、意味がありません。
このような状況で私は何をすべきですか?
前もって感謝します。
よろしく、
だから私はこのアプリケーションを持っており、クエリに基づいて簡単な検索画面を作成する必要があります(このクエリは指定された検索条件のすべての金融取引を取得します)
だから私が欲しいのは、検索結果の合計を表示する計算フィールドを画面に追加することです。 すべてのレコードの合計ではありません。
金融取引テーブルに計算フィールドを追加しようとしましたが、意味がありません。
このような状況で私は何をすべきですか?
前もって感謝します。
よろしく、
検索とは、ユーザーが検索画面のデフォルトの検索ボックスに基準を入力することを意味していると思います。組み込みの検索は、実際にはデータベースの検索ではなく、既に取得したクエリのフィルターであることを思い出してください。そのため、ユーザーが何かを「検索」するとき、実際には画面から行を除外していますが、グリッドにバインドされた基礎となるデータ コレクションに残っています。
組み込みの検索ボックスの動作を傍受する方法を知りません。
あなたが望むものを実装する 1 つの方法は、クエリを作成し、必要な検索基準によってそれをパラメーター化し、その周りに検索画面を構築することです。デフォルトの検索ボックスを非表示にして、より明確にすることができます。
たとえば、Hours フィールドを持つ Projects テーブルがあるとします。最初に、プロジェクトに基づいてクエリを作成し、「名前に NameParam が含まれる」などのフィルターを追加します。そのパラメーターを画面に表示します (この記事をガイドとして使用してください: http://blogs.msdn.com/b/bethmassi/archive/2010/11/09/creating-a-custom-search-screen-in-visual -studio-lightswitch.aspx )
ここでトリックを使用します。これは私が見た手法であり、100% 慣れているわけではありません。これまでのところ、テキスト ボックスの Changed イベントがクエリ パラメーターにバインドされているという事実に基づいています。画面クエリが実行された後に発生しますが、現在のバージョンの LS で動作します。デザイナーで、(画面の左側にある) クエリ パラメーターを選択し、"Changed" イベントのコードを追加します。そのイベント ハンドラーで、必要なフィールドを計算できます。たとえば、次の 2 つの変数があります (既にデータ項目として定義されています)。
RecordsCount = ProjectsByName.Count.ToString()
TotalHours = ProjectsByName.Sum(Function(project) project.Hours)
(VB コード)
[名前] テキスト ボックスに何かを入力して Enter キーまたは Tab キーを押すたびに、新しい基準でクエリが実行され、Changed イベント ハンドラーが起動し、プロパティの値が更新されます。
これを機能させるには、ページングをオフにする必要があることに注意してください。それ以外の場合は、現在のページの結果が計算されます。
ページングが必要な場合は、いつでも 2 番目のクエリを実行して合計結果を取得できます。