Announcement

Collapse
No announcement yet.

Datagridview Filtern mit Textbox

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datagridview Filtern mit Textbox

    Hallo Liebe Entwickler gemeide,

    ich bin noch ein Programier anfänger und stehe vor einem kleinen Problem, ich habe ein Datagridview mit daten aus einer MYSQL Datenbank

    Code:
                
    command.CommandText = "Select * from kunden;";
    MysqlReader = command.ExecuteReader();
    while (MysqlReader.Read())
         {
           object[] row = { MysqlReader[0], MysqlReader[1], MysqlReader[2], MysqlReader[3], MysqlReader[4], MysqlReader[5], MysqlReader[6], MysqlReader[7], };
            DgVkunden.Rows.Add(row);
           }



    Diese möchte ich gerne mithilfe einer Textbox Filtern

    Code:
            private void textBox2_TextChanged(object sender, EventArgs e)
            {
                ((DataTable)DgVkunden.DataSource).DefaultView.RowFilter = "Name like '%" + textBox1.Text.Trim() + "%' ";
            }
    Kann es einwandfrei Compilieren, beim ausführen bekomme ich aber immer die Meldung:
    Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    Ich weiß das man Objekte vorher mit New... initialsieren muss, aber weiß nicht genau was ich in diesem fall als objekt inizialieren muss.

    Hoffe auf freundliche Hilfe.

    Liebe Grüße

    Manuel

  • #2
    Du hast die Daten selbst in die Rows des DataGridViews kopiert. Später versuchst du aber auf die DataSource Property zuzugreifen also ob da eine DataTable dran gebunden wäre. Du hast aber kein DataTable an das Grid gebunden insofern ist DgVkunden.DataSource = null und es wird knallen wenn du versuchtst damit irgendwas zu tun. Das mit dem Filtern so woe von dir gezeigt wird nur funktionieren wenn du als Datenquelle auch eine DataTable verwendest. Du scheinst irgendeine Komponete für mysql zu verwenden. Bei der solltest du auch eine Komponnete finden die ~irgendwas~DataAdapter heißt die du anstatt dem DataReader benutzen solltest um die Daten in eine DataTable zu bekommen. Dann kannst du auch die Filtermöglichkeiten benutzen die eine DataTable bietet.

    Comment

    Working...
    X