2012-08-09 4 views
0

내가 DataGridView를 결합하고 싶 4 데이터 소스를 볼, 그래서 이 vb.net의 데이터 그리드는 여러 된 데이터 소스

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

+0

DataTables. . . . – user1570048

답변

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

+0

하지만 잠글 경우 스레드를 사용할 필요가 없습니다! – user1570048

+0

@ user1570048 콤보 상자는 자신의 드롭 다운 목록에 대해 고유 한 데이터 소스를 가질 수 있지만 선택한 콤보 상자의 값은 그리드의 데이터 소스에서 가져옵니다. – LarsTech

관련 문제