2013-02-26 2 views
3

DataTable 또는 DataSet에서 DataGridView (grid1)를 채우고 있습니다.
선택한 행 집합을 제거한 다음 다른 언 바운드 DataGridView (grid2)에 추가 할 수 있습니다.
grid2에서 한 행을 가져 와서 grid1에 추가하면 문제가 발생합니다.vb.net의 datagridview에서 datasouce를 제거한 후 데이터를 유지하는 방법은 무엇입니까?

컨트롤이 데이터 바인딩 일 때 행을 프로그래밍 방식으로 DataGridView의 행 컬렉션에 추가 할 수 없습니다.

이는

grid1.DataSource = myDataTable 
or 
grid1.DataSource = myDataSet 

발생하지만 GRID1에서

grid1.DataSource = Nothing 

모든 행을 수행 할 때 제거됩니다.

datagridview를 데이터 소스에서 분리하지만 행을 유지할 수 있습니까?

답변

0

내가 다른 언 바운드 DataGridView에 (grid3)를 추가 할 것을 특징으로하는 솔루션 생각할 수는
는 프로그래밍
을 grid3 거기에서 그것을 조작하는 바인딩 된 DataGridView에 (GRID1)의 내용을 복사합니다.

+0

이제 작동 중입니다. 이 문제를 해결하는 방법이 있지만 누군가이 문제를 해결하는 방법을 알고 있다면 해결할 수 있습니다. 제발, 고마워. –

0

나는이 시도했지만 복사 방법에 대해 살펴하지 않은 :

grid1.DataSource = myDataTable.Copy 

MSDN의는 "이 DataTable에 대한 복사 구조와 데이터를 모두."라고 복사하면 바인딩을 해제 할 수도 있습니다.

+0

Nope. 같은 오류가 발생합니다. –

0

데이터 바인딩 된 눈금이있는 경우 눈금의 행을 전혀 사용하지 않아야합니다. 데이터 소스로 설정 한 테이블을 변경하면 그리드에 새 행이 반영됩니다.

dim row as datarow = myDataTable.newrow() 
row.item("Column1") = "new value" 
myDataTable.rows.add(row) 

이제 새 행이 데이터 바인딩 된 그리드에 표시됩니다. 데이터 소스 데이터 테이블에서도 행을 제거하여 그리드에서 행을 제거 할 수 있습니다.

관련 문제