Фильтровать строки в моем 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);

Другие вопросы по тегам