현재 빈 또는 빈 DataGridview 셀을 숨기는 프로그램이 있습니다. 이 셀을 완전히 삭제하는 방법을 찾고 싶습니다. 그 이유는 공백의 셀이 숨겨진 후에 다른 일부 유효성 검사를 거친 후에 다시 나타납니다. 이러한 검증을 통해 셀에 음수, 숫자가 아닌 입력 및 빈 셀과 같은 잘못된 입력이 포함되어 있는지 확인했습니다. 위의 값 중 하나라도 포함하면 기본값으로 채워 지므로 숨겨진 셀이 다시 나타납니다. 다행히도 이러한 셀을 삭제하는 방법이 있다면 기본 데이터로 채워지는 변화를 느끼지 않을 것입니다. 나는 MSDN에서 아래의 코드를 찾았지만 doens't 어떤 이유로 든 제대로 작동하는 것 같습니다. 또한 DATABINDINGCOMPLETE 이벤트를 사용하고 있습니다. 이 상황에서 더 잘 작동하는 다른 이벤트가 있는지 확실하지 않습니다. 나는 당신이 줄 수있는 어떤 도움을 주셔서 감사합니다!가져 오기시 빈 datagridview 셀을 삭제하는 방법
Private Sub DataGridView1_DataBindingComplete(sender As Object, e As DataGridViewBindingCompleteEventArgs) Handles DataGridView1.DataBindingComplete
Dim i As Integer = 0
Dim mtCell As Integer = 0
For Each row As DataGridViewRow In DataGridView1.Rows
For j = 1 To row.Cells.Count -2
If row.Cells(j).Value Is DBNull.Value Then
mtCell += 1
End If
Next
If mtCell = row.Cells.Count Then
DataGridView1.Rows.RemoveAt(i)
End If
i += 1
mtCell = 0
Next
end sub
답변 해 주셔서 감사합니다. 나는 예외 범위를 벗어난 인덱스를 얻고 있는데 왜 그럴 수 없는지를 알 수있다. – stackexchange12
@ stackexchange12 이것은 특정 상황에 적응해야하는 샘플 코드입니다. 어쨌든 이것은 매우 안전한 측면의 시나리오이며이 오류가 어디에서 발생할 수 있는지를 알 수 없습니다. 내가 생각할 수있는 유일한 옵션은 데이터를 전혀 포함하지 않는 DataGridview입니다. 컨트롤에 데이터가 포함되어 있는지 확인하고 오류가 발생한 행을 봅니다. – varocarbas
예, 맞습니다. 대부분 내 Excel 워크 시트가 비어 있지만 내 선택 문 크기를 조정하지 않고 이러한 빈 행을 삭제하려면 노력하고있어. – stackexchange12