以编程方式将行添加到数据绑定的DataGridView?

时间:2010-12-01 20:29:03

标签: c# datagridview

我遇到了问题,似乎无法解决问题。我以为有人可以提供帮助。

我有一个包含客户DataGridView的表单。现在,我想向这个DataGridView添加几个客户,而不是实际将它们添加到数据库中。这是因为客户端必须能够创建客户端列表,并在完成后立即添加所有客户端。

我试过这个:

string[] array = {"Microsoft", "Redmond", "Something"}
dataGridView.Rows.Add (array);

现在无法完成,因为我得到一个异常,说明行中的某些内容,你无法以编程方式将行添加到数据绑定的DataGridView

现在我还读到这可以通过使用表适配器插入行而不是直接添加它来解决。一个DGV。但这也是不可能的,因为我在DGV中使用自定义标头,因为现有数据是通过JOIN获取的,所以如果我通过TableAdapter添加它,我会得到一个与数据库表模式不匹配的异常。

现在我真的迷失了......任何人都知道这个问题的一个(中途)优雅解决方案吗?

谢谢

2 个答案:

答案 0 :(得分:1)

为了显示这些行,只需在数据绑定之前执行UNION(类似)操作。即获取您的记录列表,添加特殊记录,然后添加数据绑定。

更新还需要一些特殊操作。但由于完全缺乏有关数据结构的详细信息,因此无法说出什么。

答案 1 :(得分:1)

将您的DGV绑定到BindingList<YourObject>,其中YourObject可以是一个简单的类,其属性反映您的数据库架构。最初从数据库填充BindingList,DGV将自动将YourObject个实例添加到列表中。当您准备提交更改时,请从BindingList手动执行此操作。