Entwickler-Ecke

WinForms - Filtern einer DataGridView


jobonabas - Di 16.08.16 14:47
Titel: Filtern einer DataGridView
Zunächst schonmal vielen Dank für die Hilfe,


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
public void Set_filter(Int32 Nummer, string Column, string Filter)
        {
            BindingSource Grid_Source = new BindingSource();
            DataGridView Grid = new DataGridView();
            if (Nummer == 1)
            {
                Grid_Source = Grid1_Source;
                Grid = dataGridView1;
            }
            else if (Nummer == 2)
            {
                Grid_Source = Grid2_Source;
                Grid = dataGridView2;
            }
            else if (Nummer == 3)
            {
                Grid_Source = Grid3_Source;
                Grid = dataGridView3;
            }
            else if (Nummer == 4)
            {
                Grid_Source = Grid4_Source;
                Grid = dataGridView4;
            }
         
            Grid_Source.Filter = String.Format(Column + " LIKE '%" + Filter +"%'");
            Grid.DataSource = Grid_Source;
            Grid.Refresh();

        }

bei der Zeile:

C#-Quelltext
1:
Grid_Source.Filter = String.Format(Column + " LIKE '%" + Filter +"%'");                    

bekomme ich eine system.null exeption, aber keine der Variablen ist null, den Code habe ich leicht abgeändert aus einem anderen Forum, eigentlich müsste es funktionieren.

probiere hier seid ner Stunde rum und komme echt nicht mehr weiter ...


Th69 - Di 16.08.16 15:48

Hast du denn Grid_Source abgeprüft?
Ist evtl. eine der GridX_Source-Variablen null?

PS: Wäre es nicht besser, du würdest für die verschiedenen BindingSourcen und DataGridViews Listen (List<T>) verwenden, welche du dann direkt per Index ansprechen könntest?