Работа с DataGridView, привязанным к набору данных, не должна быть такой сложной - вы, должно быть, следовали действительно старому или плохо написанному учебнику
Способ, которым все это должно висеть вместе, гораздо болееаккуратно и компактно:
//in your code that handles loading the grid with data, e.g. in a Load button handler
patientListTableAdapter.Fill(ds.PatientList); //strongly typed dataset, table is already bound to grid in design time.
//Visual Studio binds it fully for you when you add it to the form, in the designer
//you never again mess with the bindings, just fill and empty the table: MVC
private void TB_FirstName_TextChanged(object sender, EventArgs e){
if(string.IsNullOrWhiteSpace(TB_FirstName.Text)
patientListBindingSource.Filter = null;
else
patientListBindingSource.Filter = string.Format("NAM LIKE '%{0}%'", TB_FirstName.Text);
}
Да ... всего 5 строк кода должны делать все, что вы пытаетесь достичь здесь.Прямо сейчас вы используете эти технологии неправильно и достигаете трудного и неэффективного результата.
Инструкции по использованию таблиц данных см. В MSDN: https://msdn.microsoft.com/en-us/library/fxsa23t6.aspx
Начните с пошагового руководства «Создание простого приложения данных», создайте новый проект, выполните следующие действия.и создайте новый пример приложения.После того, как вы это сделаете, я рекомендую вернуться к существующему приложению и НЕ предпринимать попыток спасти то, что уже было сделано - удалить партию, удалить сетку данных из формы, создать новый типизированный набор данных, связать его с вашей БД,добавьте в форму новое правильно связанное представление данных, и дизайнер все настроит.Тогда все, что вам нужно сделать, это выбрать подходящее место для загрузки данных и применить обработчик с измененным текстом (5 строк кода, которые я поместил выше)
Я знаю, что это будет сложно, отбросив все этокод, в который вы пролили кровь и слезы ... но это всегда будет головной болью и никогда не будет работать правильно, потому что это совершенно неверный способ работы с данными и связанными элементами управления