2017-10-15 13 views
0

にパラメータ化された定義済みのクエリを追加、私は、簡単なセットアップを持っているは私の人生のためのDataGridView

.... TableAdapterのを使用して除外ソリューション以外(これのどこを見つけることができませんでした。私が持っています私が必要とするデータを返すクエリ "nonServers"を作成しました。テーブルアダプター自体には、必要なデータを返すクエリを作成しました。

私の質問は、tableadapterのQUERYの結果を完全な結果ではなくdatagridviewにどのようにバインドできますか?クエリを追加しようとすると、クエリをトリガーするボタンが追加されます)しかし、これは私私が望むものではない - 私は、初期値をクエリの結果のみにしたい。

任意のヘルプは感謝

、私はそれはおそらく、あなたはいくつかの誤解のもとだ

答えて

0

embarassingly簡単です数えます。まず、グリッドはテーブルアダプタにバインドされていません。アダプタは、データベースとアプリケーション間でデータを前後に移動する手段に過ぎません。データは、アプリケーションDataTableに格納され、DataSetの一部です。それがあなたのグリッドに縛られているものです。

各テーブルアダプタのデフォルトのクエリは、で、WHERE句がないので、すべての列とすべての行になります。テーブルアダプタには、そのクエリを実行する2つのメソッド、FillGetDataがあります。 は、既存のDataTable(おそらくDataSetの一部)を埋め込み、GetDataは新しいスタンドアロンDataTableを作成して返します。

WHERE句を指定して新しいクエリを追加すると、そのクエリを実行する新しいメソッドに名前を付けるよう求められます。それらはデフォルトでFillByGetDataByという名前が付けられています。あなたはそれに意味のある接尾辞を付けることになっています。 ParentIdカラムでフィルタリングする場合は、メソッド名をFillByParentIdGetDataByParentIdとします。あなたのクエリがどのようなものか正確には分かりませんが、FillWithNonServersGetDataWithNonSeversと一緒に行くかもしれません。

データソースウインドウからフォームにテーブルをドラッグすると、デフォルトでは多数のコントロールとコンポーネントが追加され、適切なテーブルアダプタのFillメソッドへの呼び出しを含むいくつかのコードも生成されますLoadイベントハンドラあなたの場合、単にFillの呼び出しを新しいメソッドの呼び出しに変更するだけで、デフォルトの代わりにカスタムクエリが呼び出されます。

関連する問題