Как добавить новый DataRow в DataTable?
У меня есть DataGridView
привязанный к a DataTable
(DataTable
привязан к базе данных). Мне нужно добавить DataRow
к DataTable
. Я пытаюсь использовать следующий код:
dataGridViewPersons.BindingContext[table].EndCurrentEdit();
DataRow row = table.NewRow();
for (int i = 0; i < 28; i++)
{
row[i] = i.ToString();
}
Но это не работает, DataGridView
никогда не добавлялась новая строка. Пожалуйста, скажите мне, как я могу исправить свой код?
Заранее благодарю вас.
8 ответов:
Вы можете попробовать с этим кодом-на основе
Rows.Add method
DataTable table = new DataTable(); DataRow row = table.NewRow(); table.Rows.Add(row);
Ссылка: https://msdn.microsoft.com/en-us/library/9yfsd47w.aspx
Я нашел примеры dotnetperls на
DataRow
очень полезно. Фрагмент кода для newDataTable
оттуда:static DataTable GetTable() { // Here we create a DataTable with four columns. DataTable table = new DataTable(); table.Columns.Add("Weight", typeof(int)); table.Columns.Add("Name", typeof(string)); table.Columns.Add("Breed", typeof(string)); table.Columns.Add("Date", typeof(DateTime)); // Here we add five DataRows. table.Rows.Add(57, "Koko", "Shar Pei", DateTime.Now); table.Rows.Add(130, "Fido", "Bullmastiff", DateTime.Now); table.Rows.Add(92, "Alex", "Anatolian Shepherd Dog", DateTime.Now); table.Rows.Add(25, "Charles", "Cavalier King Charles Spaniel", DateTime.Now); table.Rows.Add(7, "Candy", "Yorkshire Terrier", DateTime.Now); return table; }
//َСоздание новой строки со структурой таблицы:
DataTable table = new DataTable(); DataRow row = table.NewRow(); table.Rows.Add(row);
//присвоение значений столбцам строки (предполагается, что в этой строке 28 столбцов):
for (int i = 0; i < 28; i++) { row[i] = i.ToString(); }
Вы должны добавить строку явно в таблицу
table.Rows.Add(row);