0

datagridviewにバインドしたい4つのデータソースがあるので、次のようになります

 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

どのようにそれを行うことができますか?

4

2 に答える 2

1

できません。DataGridViewは、一度に1つのデータソースのみを持つことができます。

これは、グリッドを更新するために複数のスレッドを使用しようとしている前の質問に関連していることは知っていますが、グリッドへの書き込みに複数のスレッドを使用することに完全に固執している場合は、更新を行うためにデータソースをロックする必要があります。

于 2012-08-09T17:16:43.763 に答える
0

これらを組み合わせる必要がある場合は、データテーブルのマージ機能を使用する必要があります。

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
于 2012-08-09T17:24:08.643 に答える