每次点击时如何显示新行?因为它的作用是替换第一行的值而不是添加新行。
private void button2_Click(object sender, EventArgs e)
{
DataTable dtbl = new DataTable();
dtbl.Columns.Add("1st Header");
dtbl.Columns.Add("2nd Header");
dtbl.Columns.Add("3rd Header");
dtbl.Rows.Add("1","2","3");
dgv.DataSource = dtbl;
}
答案 0 :(得分:1)
因为每次点击都会初始化一个新的数据表。
将您的DataTable
初始化和数据源分配放到另一个函数中,并将DataTable
设为私有,以便您可以在按钮单击中使用它 -
DataTable dtbl;
private void InitializeDataTable()
{
dtbl = new DataTable();
dtbl.Columns.Add("1st Header");
dtbl.Columns.Add("2nd Header");
dtbl.Columns.Add("3rd Header");
dgv.DataSource = dtbl;
}
现在,在按钮单击中,使用DataTable.NewRow -
添加新行 private void button2_Click(object sender, EventArgs e)
{
DataRow newRow = dtbl.NewRow();
dtbl.Rows.Add(newRow);
dgv.Refresh();
}