2012-08-09 39 views
0

我有我要绑定到一个DataGridView 4种的数据源,所以它会像vb.net DataGrid中查看多个数据源

datasource Me.DataGridView1.DataSource = Me.bindingSource1 'rows 0 to 500 
datasource Me.DataGridView1.DataSource = Me.bindingSource2 'rows 501 to 1000 
datasource Me.DataGridView1.DataSource = Me.bindingSource3 'rows 1001 to 1500 
datasource Me.DataGridView1.DataSource = Me.bindingSource4 'rows 1501 to 2000 

怎么能做到呢?

+0

bindingSources是什么类型? – StingyJack 2012-08-09 17:17:59

+0

DataTables。 。 。 。 – user1570048 2012-08-09 17:21:46

回答

0

如果你必须结合这些,那么你应该使用数据表的Merge函数。

Dim aggregateTable as New DataTable("AggTbl") 
aggregateTable.Merge(Me.bindingSource1) 
aggregateTable.Merge(Me.bindingSource2) 
aggregateTable.Merge(Me.bindingSource3) 
aggregateTable.Merge(Me.bindingSource4) 

Me.DataGridView1.DataSource = aggregateTable 
1

你不能。一个DataGridView一次只能有一个DataSource。

我知道这与您之前试图使用多个线程来更新网格的问题有关,但是如果您在使用多个线程写入网格时已经死了,您将不得不将数据源锁定到做更新。

+0

但是每个列怎么可以有一个数据源? – user1570048 2012-08-09 17:18:38

+0

但是,如果我要锁定它,就没有使用线程的要点! – user1570048 2012-08-09 17:19:30

+0

@ user1570048 ComboBoxes可以为其自己的下拉列表拥有自己的数据源,但组合框的选定值来自网格的数据源。 – LarsTech 2012-08-09 17:20:02