如何将新的DataRow添加到DataTable中?

mal*_*uri 36 c# datatable datagridview datarow

我有一个DataGridView绑定到DataTable(DataTable绑定到数据库).我需要一个补充DataRowDataTable.我正在尝试使用以下代码:

dataGridViewPersons.BindingContext[table].EndCurrentEdit();
DataRow row = table.NewRow();

for (int i = 0; i < 28; i++)
{
    row[i] = i.ToString();
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用,DataGridView从未添加过新的行.请告诉我,如何修复我的代码?

先感谢您.

Agh*_*oub 55

您可以尝试使用此代码 - 基于 Rows.Add method

DataTable table = new DataTable();
DataRow row = table.NewRow();
table.Rows.Add(row);
Run Code Online (Sandbox Code Playgroud)

链接:https://msdn.microsoft.com/en-us/library/9yfsd47w.aspx


mim*_*imo 16

我发现dotnetperls的例子DataRow非常有帮助.DataTable从那里新的代码片段:

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;
}
Run Code Online (Sandbox Code Playgroud)


小智 10

//使用表的结构创建一个新行:

DataTable table = new DataTable();
DataRow row = table.NewRow();
table.Rows.Add(row);
Run Code Online (Sandbox Code Playgroud)

//为行的列赋值(此行应该有28列):

for (int i = 0; i < 28; i++)
{
    row[i] = i.ToString();
}
Run Code Online (Sandbox Code Playgroud)