Фильтровать строки в моем DataGridView?
Это непросто, насколько я знаю, я могу фильтровать строки в моем DataGridView только тогда, когда его DataSource назначен для DataTable (используйте DefaultView.RowFilter) или BindingSource (используйте Filter). Но мой источник данных DataGridView выглядит так:
myDataGridView.DataSource = myDataSet;
myDataGridView.DataMember = "myTableName";
//filtering rows using myDataSet.Tables["myTableName"].RowFilter = "..." doesn't work.
myDataSet уже связан с некоторыми элементами управления в моей форме, и я не хочу перепривязывать его при изменении источника данных myDataGridView.
Я не хочу устанавливать DataSource моего DataGridView следующим образом:
myDataGridView.DataSource = myDataTable;
//then use myDataTable.DefaultView.RowFilter = "...";
//or
BindingSource bs = new BindingSource(myDataSet, "myTableName");
myDataGridView.DataSource = bs;
//then use bs.Filter = "..."
Мне просто нужен мой источник данных DataGridView, как в первом коде, как я могу отфильтровать строки для него в этом контексте? Пожалуйста, убедитесь, что это работает, и обратите внимание на то, что я упомянул здесь.
Ваша помощь будет высоко ценится!
Спасибо.
1 ответ
Пытаться myDataSet.Tables["myTableName"].DefaultView.RowFilter = "..."
если это не пускает в ход вашу лодку, то это из другой SO темы.
(dataGridViewFields.DataSource as DataTable).DefaultView.RowFilter = string.Format("Field = '{0}'", textBoxFilter.Text);