我有一个datagridview,它将数据传输到其他数据网格视图,我希望得到一些帮助。它看起来应该工作,但是我得到一个错误,说该字符串不能转换为布尔值。对于datagridview中的复选框,就是这种情况(用户必须单击要复制的行的复选框。) 我知道如何将值转换为字符串等,但我似乎无法弄清楚这一点。谁能帮我? 这是点击复制按钮时发生的情况:
For i As Integer = 0 To DGV1.Rows.Count - 1
If DGV1.Rows(i).Cells(4).Value = True Then
DGV2.Rows.Add(DGV1.Rows(i).Cells(3).Value, _
DGV1.Rows(i).Cells(2).Value, _
DGV1.Rows(i).Cells(3).Value, _
DGV1.Rows(i).Cells(4).Value, _
DGV1.Rows(i).Cells(6).Value)
'2 = voer, 3 =voerid, 4= drogestof, 6 = (voer)keukenlocatie
End If
DGV1是数据必须来自的数据网格,因此cell4是复选框。 DGV2是数据必须到达的数据网格。
更新: 现在我使用这个代码,这让我更进一步。
Private Sub Button1_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkopieren.Click
For i As Integer = 0 To DGV1.Rows.Count - 1
If CBool(DGV1.Rows(i).Cells(4).Value) Then
'If DGV1.Rows(i).Cells(4).Value = True Then
DGV2.Rows.Add(DGV1.Rows(i).Cells(0).Value, _
DGV1.Rows(i).Cells(1).Value, _
DGV1.Rows(i).Cells(2).Value, _
DGV1.Rows(i).Cells(3).Value)
'2 = voer, 3 =voerid, 4= drogestof, 6 = (voer)keukenlocatie
End If
Next
End Sub
我收到错误" 无效的OperationException未处理" 显然,当我想将所选数据从1 datagridview传输到其他绑定数据网格视图时,他们不喜欢它。这有什么解决方案吗?我尝试自己修复和google搜索,但没有结果。
答案 0 :(得分:1)
好像你想要复制选中的行。因此,您应该使用带有复选框的列来验证是否已选中它。如果您的第一列是复选框类型,那么它是单元格(0)。如下所示,可能修改您的代码对您有用。
For i As Integer = 0 To DGV1.Rows.Count - 1
If CBool(DGV1.Rows(i).Cells(0).Value) Then
DGV2.Rows.Add(DGV1.Rows(i).Cells(3).Value, _
DGV1.Rows(i).Cells(2).Value, _
DGV1.Rows(i).Cells(3).Value, _
DGV1.Rows(i).Cells(4).Value, _
DGV1.Rows(i).Cells(6).Value)
'2 = voer, 3 =voerid, 4= drogestof, 6 = (voer)keukenlocatie
End If
Next
答案 1 :(得分:0)
false字符串的值必须为true。可能是数字字符串(0,不是0,-1,不是-1)或数字。
这是一个实验。
A = 0
B = 1
C = -1
D = 55
msgbox A & " " & B & " " & C & " " & D
msgbox cbool(A) & " " & cbool(B) & " " & cbool(C) & " " & cbool(D)
msgbox cbool(cstr(A)) & " " & cbool(cstr(B)) & " " & cbool(cstr(C)) & " " & cbool(cstr(D))
msgbox cbool("true") & " " & cint(vbtrue)
msgbox cbool("false") & " " & cint(vbfalse)
msgbox cbool("cat")
你会看到false = 0和true<>和猫是一个错误。