向绑定到表的DGV添加行

时间:2012-05-22 12:24:48

标签: c# winforms datagridview

我已经使用以下内容将表添加到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中隐藏,是基础表的主键。

为什么以下不起作用? Add似乎是用于添加行的DGV的Rows集合的属性:

    private void button1_Click(object sender, EventArgs e)
    {
        uxChargeBackDataGridView.Rows.Add(6, "dre");
    }

1 个答案:

答案 0 :(得分:0)

由于网格使用DataTable作为源,因此您必须将该行添加到表中。网格自动反映:

DataTable table = (DataTable)uxChargeBackDataGridView.DataSource;
DataRow row = table.NewRow();
row[0] = 6;
row[1] = "dre";
table.Rows.Add(row);

使用数据表上的NewRow()函数获取具有数据表使用的模式的DataRow对象。

如果您将tablemySet变量移动到表单级别范围,则无需创建myTable引用,那么您就可以使用{{1相反。