如何在单击事件时更新DataGrid
本文关键字:更新 DataGrid 事件 单击 | 更新日期: 2023-09-27 17:52:42
我有以下代码,通过调用函数additems更新数据库的按钮单击。
static DataTable additems(string itema, string itemb, string itemc, string itemd)
{
DataTable listitems = new DataTable();
listitems.Columns.Add("itema");
listitems.Columns.Add("itemb");
listitems.Columns.Add("itemc");
listitems.Columns.Add("itemd");
// Add new items
listitems.Rows.Add(itema, itemb, itemc, itemd);
return listitems;
}
private void button1_Click(object sender, EventArgs e)
{
// add to data grid
dataGridView1.DataSource = additems("New text", "Almonds", "Butter", "Salt");
}
我想用上面的代码创建新的数据网格。它可以很好地处理单个数据…但对于多数据,我如何才能达到这样的高度?
我有一个新的变量(不使用任何数据库)。每当单击button1时,这个变量需要加载到数据表中,以便它可以立即添加到datagridview1。
我需要一些概念
那么,您可以更改方法sig,为数据表接受一个新参数…
如果是null,创建一个新的表,就像你现在做的那样…如果不为空,只需在现有表
中添加新行//简单的例子
static DataTable additems(string itema, string itemb, string itemc, string itemd, DataTable foo)
{
DataTable listitems = foo;
if(foo == null)
{
listitems = new DataTable();
listitems.Columns.Add("itema");
listitems.Columns.Add("itemb");
listitems.Columns.Add("itemc");
listitems.Columns.Add("itemd");
}
// Add new items
listitems.Rows.Add(itema, itemb, itemc, itemd);
return listitems;
}
private void button1_Click(object sender, EventArgs e)
{
// add to data grid
dataGridView1.DataSource = additems("New text", "Almonds", "Butter", "Salt", (DataTable)dataGridView1.DataSource);
}
您可能还想考虑将该数据表存储在私有字段中,而不是使用(DataTable)dataGridView1.DataSource
,但问题不是关于良好的编码风格;)