C# 向绑定到表的DGV添加行

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);

我使用以下方法将表添加到WinForm上的DataGridView中:

    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)改为。

尝试向基础表而不是视图中添加行。如果需要,刷新视图。