2010-12-01 124 views
2

我有一个问题,我似乎无法解决它。我以为这里有人可以帮忙。以编程方式将行添加到数据绑定的DataGridView?

我有一个窗体,有一个DataGridView的客户。现在,我想将几​​个客户添加到此DataGridView中,而不实际将它们添加到数据库中。这是因为客户端必须能够创建客户端列表,并在完成时一次添加全部客户端。

我已经试过这样:

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

现在这个不能做,因为我得到一个异常说在线的东西,你不能编程行添加到一个DataGridView是数据中的绑定

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

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

谢谢

+1

DGV绑定的数据源是什么类型? – BFree 2010-12-01 20:32:42

+0

它是DataSet类型的。 – vanneto 2010-12-01 20:42:04

回答

1

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

1

为了显示这些行,只是做数据绑定前的UNION(类似的)行动。即得到您的记录列表,添加特殊记录,然后绑定数据。

更新还需要一些特殊的操作。但是由于缺乏关于数据结构的细节,所以不可能说出什么。

相关问题