【发布时间】:2014-04-02 08:09:06
【问题描述】:
我想运行这样的代码,但它总是跳过循环,所以我在控制台中看不到任何行。 这意味着 selectedColumns 是空的。我的假设是我(或用户)从列中选择一个单元格,然后 selectedColummns 为 +1。但看起来,它不起作用。然后我尝试设置 selectionMode 的 proberties 来选择全列,但随后抛出异常:
“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
【问题讨论】:
标签: vb.net datagridview