이렇게 코드를 실행하고 싶지만 항상 루프를 뛰어 넘기 때문에 콘솔에 아무런 선이 표시되지 않습니다. 즉, selectedColumns는 비어 있습니다. 내 가정은 나 (또는 사용자)가 열에서 셀을 선택한 다음 selectedColummns가 +1이라는 것입니다. 그러나 보이는 것처럼, 그것은 작동하지 않습니다. 그럼 전체 열을 선택의 selectionMode의 proberties을 설정하려고했으나 다음 예외가 발생합니다 :gridview.selectedColumns가 아닌 이유는 무엇입니까?
"System.InvalidOperationException"추가 정보 : 전체 열 선택을 선택한 경우 SortMode은 자동이 될 수 없습니다.
나는 SortMode가 무엇인지 알지 못합니다.
For Each col As DataGridViewColumn In datagridview2.SelectedColumns
Console.Write(datagridview2.SelectedColumns.Count)
Console.Write("1")
Next
아이디어 열을 selectedColumns로 가져 오는 방법은 무엇입니까?
여기내 문제를 해결 내 코드, 그러나 나는 똑똑한 것이 아니다 같아요
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim body As String = ""
Dim myWriter As New StreamWriter("H:\downloads\test.csv", True)
Dim list As List(Of Integer) = New List(Of Integer)
For Each cell As DataGridViewCell In datagridview2.SelectedCells
If list.Contains(cell.ColumnIndex) = False Then
list.Add(cell.ColumnIndex)
End If
Next
For i = 0 To datagridview2.Rows.Count - 1
For ix = 0 To datagridview2.Columns.Count - 1
If list.Contains(ix) Then
If datagridview2.Rows(i).Cells(ix).Value IsNot Nothing Then
body = body + datagridview2.Rows(i).Cells(ix).Value.ToString + ";"
Else
body = body + ";"
End If
End If
Next
myWriter.WriteLine(body)
body = ""
Next
myWriter.Close()
End Sub
.csv 파일에 선택한 열을 써야하기 때문에 ColumnHeaderMouseClick 또는 ColSelected 변경 이벤트가 작동하지 않습니다. 그럼에도 불구하고, 이제는 selectedcell.columnindex를 통해 관리했습니다. 1 분 안에 편집을보세요. – steve
해결책을 찾은 것을 알았습니다. – DNKROZ