2014-02-16 1 views
0

VB.net을 사용하는 Windows 양식 응용 프로그램에서 작업 중입니다. Datagridview1 (dataset1.existingtable은 데이터 테이블)을 채 웁니다. 이제는 데이터 테이블의 한 열에서 고유 한 값을 가져온 다음 다른 Datagridview2를 채 웁니다 (dataset2.uniquerecords가 데이터 테이블 임).vb.net에서 기존 데이터 테이블을 채운 후 DataGridview 새로 고침

문제 : 디자인 모드를 사용하여 Datagridview2에서 데이터를 새로 고칠 수 없습니다. 그러나 런타임에 데이터 테이블을 동적으로 만들 때 데이터를 새로 고칠 수 있습니다. 내 양식이 완전히로드 된 후 아래의 하위 이벤트가 호출됩니다.

아래의 코드는 사람이 직접 다른 데이터 테이블에 데이터 테이블을 지정하고있는 경우 자동으로 업데이트 할 수있는 DataGridView를 기대할 수 없다처럼 잘 보이는 아래의 코드는

Private Sub loaddistinctrecords() 

    Dim newuniquerecords As New DataTable() 
    newuniquerecords = existingtable.DefaultView.ToTable(True, "column_name") 
    Datagridview2.DataSource = newuniquerecords.DefaultView 

End Sub 

답변

0

작동

Private Sub loaddistinctrecords() 

    uniquerecords = existingtable.DefaultView.ToTable(True, "column_name")  
    Datagridview2.Refresh() 
End Sub 

작동하지 않습니다 datatable은 디자인 모드에서 생성되었습니다.

기존 레코드를 지우고 원본 데이터 테이블의 레코드를 병합하면됩니다.

Private Sub loaddistinctrecords() 

    uniquerecords.Clear() 
    uniquerecords.Merge(existingtable.DefaultView.ToTable(True, "table_name")) 

End Sub