これは簡単ではありません。私が知る限り、DataSource が DataTable (DefaultView.RowFilter を使用) または BindingSource (Filter を使用) に割り当てられている場合にのみ、DataGridView の行をフィルタリングできます。しかし、私の DataGridView DataSource は次のようなものです:
myDataGridView.DataSource = myDataSet;
myDataGridView.DataMember = "myTableName";
//filtering rows using myDataSet.Tables["myTableName"].RowFilter = "..." doesn't work.
myDataSet は既にフォームのいくつかのコントロールにバインドされており、myDataGridView の DataSource が変更されたときに再バインドしたくありません。
DataGridView の DataSource を次のように設定したくありません。
myDataGridView.DataSource = myDataTable;
//then use myDataTable.DefaultView.RowFilter = "...";
//or
BindingSource bs = new BindingSource(myDataSet, "myTableName");
myDataGridView.DataSource = bs;
//then use bs.Filter = "..."
最初のコードのように DataGridView データソースが必要なだけですが、そのコンテキストで行をフィルタリングするにはどうすればよいですか? 動作することを確認し、ここで述べたことに注意してください。
あなたの助けは非常に高く評価されます!
ありがとうございました。