0

我使用以下内容将表格添加到 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");
    }
4

1 回答 1

0

因为网格使用 DataTable 作为源,所以您必须将行添加到表中。网格应自动反映:

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

使用NewRow()数据表上的函数来获取具有数据表使用的架构的 DataRow 对象。

table如果您将mySetand变量移动到表单级别范围,则不必创建引用myTable,那么您就可以改为使用myTable.Rows.Add(row);

于 2012-05-22T16:22:58.570 回答