Wpis z mikrobloga

#csharp #programowanie

Chcę przefiltrować dane dane z bazy danych i wyświetlić je na w gridzie.

private void textBoxSearch_TextChanged(object sender, EventArgs e)
{
(gridGeneralForm.DataSource as DataTable).DefaultView.RowFilter = string.Format("NazwaKsiazki LIKE '%{0}%'", textBoxSearch.Text);
}

Tutaj kod, który odpowiada za wyświetlenie na gridzie danych: https://pastebin.com/0MjaURB2

Problem jest taki, że jak wpiszę cokolwiek to dostaję błąd:

System.NullReferenceException: 'Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.'


Goglowałem coś, ale wciąz nie mam pojęcia gdzie szukać błędu...
Pobierz kurazjajami - #csharp #programowanie 

Chcę przefiltrować dane dane z bazy danych i...
źródło: comment_vYMrFUXoiZM6h3CAAy2krqZ6eXawmfJC.jpg
  • 3
@kurazjajami: ja mam podobny program i mam comboboxa w tym miejscu, pierwsza jest metoda, która odpowiada za połączenie się z bazą i wczytaniu listy dokumentów i można sobie kliknąć i wybrać lub wpisać i wyszukać, może to by było lepsze rozwiązanie?

Kod w spoilerze


{
cbDokList.DataSource = null;
cbDokList.Items.Clear();
orginalDocList.Clear();

DbNavi db = new DbNavi();

db.Connection();

try
{
db.cnn.Open();

db.cmd = new SqlCommand(
"SELECT dokId, dokNrPelny, dokNrPelnyOryg FROM
@kurazjajami: Spójrz w stacktrace, żeby widzieć gdzie dokładnie wywala. Problem jest na 99% gdzieś tu, pewnie gridGeneralForm.DataSource jest nullem

(gridGeneralForm.DataSource as DataTable).DefaultView.RowFilter


Poza tym staraj się gdzie da używać stringów interpolowanych zamiast string.Format()