0
DataGridView에 행을 추가하려고하지만 새 행이 추가 될 때마다 이전 행의 셀 값을 Nothing으로 설정하는 것처럼 보입니다.DataGridView에 행을 추가하면 기존 행이 지워짐
저는 항상이 작업을 수행하지만이 새로운 프로젝트에서는 작동하지 않습니다.이 버그가 있습니까? 아니면 확실하지 않은 것이 있습니까? (더 많은 것!)
내 코드 :
DG = DataGridView
lstOrders = List(Of mystructure)
Private Sub PopulateGrid()
DG.Rows.Clear()
For i As Integer = 0 To lstOrders.Count - 1
DG.Rows.Add()
With DG.Rows(DG.Rows.Count - 1)
.Cells(ColUsername.Index).Value = "abc" 'test
'etc
End With
Next
End Sub
셀 값이 잘 채워지는하지만,이 DG.Rows.Add()
에 이전 행을 얻을 때 모두 Nothing으로 설정됩니다.
무슨 일 이니?
'Add' 메서드는 방금 추가 된 행의 인덱스를 반환합니다. 나는 코드의 다음 섹션에서 행에 액세스하는 데 사용하는 경향이 있습니다. 그것을 시도하고 당신은 여전히 동일한 문제가 있는지보십시오. – jmcilhinney
@jmcilhinney 그게 고쳐, 고마워! 또한 추가/편집/삭제 여전히 사용할 수있는 것으로 나타났습니다, 그때 내가 원래의 방법을 작동시키기 시작했다. 이상한. – Sparrowhawk
전혀 이상하지 않습니다. 사용자가 행을 추가 할 수 있으면 그리드의 마지막 행이 데이터 입력 행입니다. 원래 코드가 표의 마지막 행에 채워 졌으므로 추가 한 행이 아니라 데이터 입력 행이됩니다. 'Add'에 의해 리턴 된 인덱스를 사용함으로써 당신은 다른 것에 관계없이 방금 추가 된 행에 접근 할 수 있습니다. – jmcilhinney