在每个按钮单击时添加行datagridview

本文关键字:添加行 datagridview 单击 按钮 | 更新日期: 2023-09-27 18:09:49

我在usercontrol上有一个数据视图。我创建了一个数据表,并将数据网格的源设置为这个数据表。我希望在运行时,能够在gridview上添加每次点击按钮时需要的行数。

我的代码:
 private DataTable CreateTable()
    {
        Datatable table=new Datatable();
        table.Columns.Add("Name".ToString());
        table.Columns.Add("Size".ToString());
        DataRow dr = table.NewRow();
        dr["Name"] = "Mike";
        DataRow dr2 = table.NewRow();
        dr2["Name"] = "Ryan;
        DataRow dr3 = table.NewRow();
        dr3["Name"] = "Taylor";
        dr["Size"] = " one";
        dr2["Size"] = "two";
        table.Rows.Add(dr);
        table.Rows.Add(dr2);
        table.Rows.Add(dr3);
        return table;
     //and on my constructor I set gridview.DataSource=Datatable;
    }
 //Code  on the event:
 private void button_Click(object sender, EventArgs e)
    {
        DataRow NewRow = table.NewRow();
        table.Rows.Add(NewRow);
    }

在每个按钮单击时添加行datagridview

您需要在表单级别定义DataTable。然后点击按钮,你可以这样做:

private void button_Click(object sender, EventArgs e)
{
    DataRow NewRow = table.NewRow();
    table.Rows.Add(NewRow);
    gridview.DataSource=table; //specify the source
}

在表单级别定义表:

DataTable table; //DataTable at form level
private DataTable CreateTable()
{
    table=new Datatable(); //here insntianting the form level table. 
    table.Columns.Add("Name".ToString());
    table.Columns.Add("Size".ToString());
    DataRow dr = table.NewRow();
    dr["Name"] = "Mike";
    DataRow dr2 = table.NewRow();
    dr2["Name"] = "Ryan;
    DataRow dr3 = table.NewRow();
    dr3["Name"] = "Taylor";
    dr["Size"] = " one";
    dr2["Size"] = "two";
    table.Rows.Add(dr);
    table.Rows.Add(dr2);
    table.Rows.Add(dr3);
    return table;
 //and on my constructor I set gridview.DataSource=Datatable;
}

为了更好地处理,我建议使用以下方法。

创建泛型列表,每次单击都将新数据添加到列表中,然后将列表转换为DataTable,如下面的链接所示,然后将DataTable绑定到网格。

将泛型列表/枚举转换为数据表?

如果你想要示例代码请告诉我