2016-05-10 17 views
0

Ich habe eine DataTable aus einer Datenbank ausgefüllt und ich muss die Daten GridView spezifischen Zeilen aus der DataTable nach einer Bedingung (if-Anweisung) hinzufügen.Konvertieren DataTable-Zeile in DataGridView-Zeile

Ich habe den folgenden Code, aber es funktioniert nicht, und ich konnte nicht von DataTable Row To DataGridViewRow umwandeln.

for (int i = 0; i < dt.Rows.Count; i++) 
       { 
        if (Convert.ToDateTime(dt.Rows[i][5].ToString()) < Convert.ToDateTime("00:05:00")) 
        { 
         dataGridView1.Rows.Add(dt.Rows[i]); 
        } 
       } 

Antwort

1

können Sie verwenden:

DataRow[] rows = dt.Select("NameOfColumn < '00:05:00'"); 
dataGridView1.DataSource = rows.CopyToDataTable(); 

Mit "NameOfColumn" stellen für Sie "dt.Rows[i][5]";

+0

Danke Beldi. Es ist so ein anderer guter Weg. Aber es gibt nur kleine Änderungen an Ihrem Code, dann funktioniert es ziemlich gut. dt.Select ("NameOfColumn <00:05:00 '") –

+0

Danke ich meine Antwort bearbeiten, können Sie es bitte markieren? –

1

DataGridView.Rows.Add Methode akzeptiert Array von Objekten als Parameter.

So können Sie Zeilen zu DatagridView unter Verwendung ItemArray Eigenschaft eines DataRow hinzufügen.

dataGridView1.Rows.Add(dt.Rows[i].ItemArray); 
+0

Danke Hari. es funktioniert, aber ich musste zuerst die Spalten hinzufügen und dann die Zeilen hinzufügen. –

+0

Das ist richtig, in Wirklichkeit könnten Sie DataTable direkt als DataSource setzen. Sie müssen es nicht explizit hinzufügen, es sei denn, es besteht eine explizite Nachfrage. –