我有以下代码,通过调用函数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。
我需要一些概念......
答案 0 :(得分:0)
好吧,您可以更改方法sig以获取数据表的新参数...
如果它为null,则像现在一样创建一个新表...如果它不为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
,但问题不在于良好的编码风格;)