2016-05-10 3 views
0

У меня есть DataTable, заполненный из базы данных, и мне нужно добавить данные GridView конкретных строк из DataTable в соответствии с условием (если инструкция).Преобразование строки DataTable в строку DataGridView

У меня есть следующий код, но он не работает, и я не смог выполнить кастинг из DataTable Row To DataGridViewRow.

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]); 
        } 
       } 

ответ

1

Вы можете использовать:

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

С "NameOfColumn" представляют для вас "dt.Rows[i][5]";

+0

Спасибо, Beldi. Это еще один хороший способ. но есть только небольшое редактирование для вашего кода, тогда оно работает очень хорошо. dt.Select ("NameOfColumn <00:05:00 '") –

+0

Спасибо, я отредактировал свой ответ, можете ли вы его пометить? –

1

DataGridView.Rows.Add метод принимает массив объектов в качестве параметра.

Итак, вы можете добавить строки в DatagridView, используя ItemArray свойство DataRow.

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

Спасибо, Хари. он работает, но мне сначала нужно добавить столбцы, а затем добавить строки. –

+0

Правильно, на самом деле вы можете прямо установить DataTable как DataSource. Вам не нужно добавлять его явным, если нет явного требования. –

Смежные вопросы