以编程方式将行添加到绑定到数据源并已具有列的DataGridView

时间:2011-01-25 05:05:41

标签: winforms datagridview

我一直在尝试整个晚上以编程方式向我的DataGridView添加行但我似乎无法使其工作我尝试了很多不同的方法,但它们似乎都没有工作。

我没有错误,一切都很好。

我有一个WinForm,我添加了一个DataGridView,将一个DataSource绑定到它(来自SQL 2008连接的表)。

数据显示在其中,一切正常,但我想在显示之前处理数据,所以我想以编程方式自行添加行。

这是我到目前为止所尝试的内容:

    string[] rowArray = new string[]{ "Test", "Test", "Test" };
    dataGridView.Rows.Add(rowArray[0]);

-

    dataGridView.Rows.Add();
    int newRowIndex = dataGridView.RowCount - 1;
    DataGridViewRow newRow = dataGridView.Rows[newRowIndex];

    newRow.Cells["PurchaseOrderId"].Value = "Test";
    newRow.Cells["SupplierId"].Value = "Test";
    newRow.Cells["State"].Value = "Test";

-

    DataRow newRow = purchaseOrders.NewRow(); // purchaseOrders = this.purchaseOrderManagerDataSet.PurchaseOrders

    newRow["PurchaseOrderId"] = "Test";
    newRow["SupplierId"] = "Test";
    newRow["State"] = "Test";

    dataGridView.Rows.Add(newRow);

它们都没有向DataGridView添加内容。

知道我做错了什么?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您应该修改数据源对象。

例如,如果您有BindingList,则只需在列表中添加一个新对象,它就会显示在DataGridView中。