Обновление DataSource для DataGridView, когда DataSource установлен в свойствах

У меня есть DataGridView, и я установил DataSource (набор данных DsAll) и столбцы в свойствах DataGridView.

Теперь я хочу обновить источник/набор данных. То есть я хочу иметь возможность ограничивать или расширять записи данных, отображаемые в сетке, помещая значение в TextBox и выполняя поиск только тех записей, где это значение находится в определенном поле (например, идентификатор сотрудника или номер отдела, и т.д...)

У меня это работает, когда я вручную устанавливаю DataSource/bindings, но у меня возникают проблемы при использовании свойств для установки DataSource.

Любая помощь приветствуется.


person Darrell    schedule 23.04.2018    source источник
comment
Проверьте фильтры строк. редактировать: см. здесь: stackoverflow.com/questions/5843537/   -  person Jacob H    schedule 23.04.2018
comment
Вы должны привязать свой DataTable к BindingSource, а затем привязать его к сетке. Затем вы должны установить свойство Filter этого BindingSource. Фактическая строка фильтра форматируется так же, как DefaultView.RowFilter для DataTable, но это более аккуратный способ сделать это.   -  person jmcilhinney    schedule 24.04.2018


Ответы (1)


Чтобы уточнить мой комментарий, я предлагаю добавить BindingSource в дизайнере, а затем привязать что-то вроде этого:

myDataAdapter.Fill(myDataTable)
myBindingSource.DataSource = myDataTable
myDataGridView.DataSource = myBindingSource

а затем фильтровать что-то вроде этого:

myBindingSource.Filter = String.Format("MyColumn LIKE '%{0}%'", myTextBox.Text)
person jmcilhinney    schedule 24.04.2018