C# 向绑定到表的DGV添加行
我使用以下方法将表添加到WinForm上的DataGridView中:C# 向绑定到表的DGV添加行,c#,winforms,datagridview,C#,Winforms,Datagridview,我使用以下方法将表添加到WinForm上的DataGridView中: void PopulateGridView() { conn = new SqlConnection(ConfigurationManager.ConnectionStrings["IMS"].ConnectionString); myAdapt = new SqlDataAdapter("SELECT * FROM FrontDesk.dbo.tb_xxx", conn);
void PopulateGridView() {
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["IMS"].ConnectionString);
myAdapt = new SqlDataAdapter("SELECT * FROM FrontDesk.dbo.tb_xxx", conn);
mySet = new DataSet();
myAdapt.Fill(mySet, "AvailableValues");
myTable = mySet.Tables["AvailableValues"];
this.uxChargeBackDataGridView.DataSource = myTable;
this.uxChargeBackDataGridView.Columns["RefKey"].Visible = false;
}
表中有5行,只有2个字段-字段RefKey
对DGV隐藏,是基础表的主键
为什么下面的方法不起作用<代码>添加似乎是用于添加行的DGV行集合的属性:
private void button1_Click(object sender, EventArgs e)
{
uxChargeBackDataGridView.Rows.Add(6, "dre");
}
因为网格使用DataTable作为源,所以必须将该行添加到表中。网格应自动反映以下内容:
DataTable table = (DataTable)uxChargeBackDataGridView.DataSource;
DataRow row = table.NewRow();
row[0] = 6;
row[1] = "dre";
table.Rows.Add(row);
使用数据表上的NewRow()
函数获取具有数据表使用的架构的DataRow对象
如果将
mySet
和myTable
变量移动到表单级范围,则不必创建table
引用,那么就可以使用myTable.Rows.Add(row)代码>改为。尝试向基础表而不是视图中添加行。如果需要,刷新视图。