Vb.net 在datagridview中循环
我的是windows应用程序。包含名为BOM和BOMSelected的表单 BOM表中有datagridview,其中包含复选框列。。当用户选中复选框时,应在其他表单SelectedBom的datagridview中看到所选行 我已经编写了代码,但无法正常工作。。有些错误 你能帮忙吗 非常感谢你的帮助 这就是我所做的Vb.net 在datagridview中循环,vb.net,datagridview,Vb.net,Datagridview,我的是windows应用程序。包含名为BOM和BOMSelected的表单 BOM表中有datagridview,其中包含复选框列。。当用户选中复选框时,应在其他表单SelectedBom的datagridview中看到所选行 我已经编写了代码,但无法正常工作。。有些错误 你能帮忙吗 非常感谢你的帮助 这就是我所做的 Public Class SelectedBom Private Sub SelectedBom_Load(ByVal sender As System.Object,
Public Class SelectedBom
Private Sub SelectedBom_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'HemDatabase1DataSet4.partno' table. You can move, or remove it, as needed.
'Me.PartnoTableAdapter.Fill(Me.HemDatabase1DataSet4.partno)
Dim count As Integer = 0
For j As Integer = 0 To BOM.dgv1.RowCount - 1
If BOM.dgv1.Rows(j).Cells(0).Value = True Then
Dim ro As New DataGridViewRow
DataGridView2.Rows.Add(ro)
For i As Integer = 0 To BOM.dgv1.ColumnCount - 1
Me.DataGridView2.Rows(count).Cells(i).Value = BOM.dgv1.Rows(j).Cells(i).Value
Next
count += 1
End If
Next
End Sub
End Class
试试看
编辑:
演示:
在BOM表表单中添加按钮1和DataGridView1
Public Class BOM
Public Class Sample
Public Property Satus As Boolean
Public Property Name As String
Public Property ID As Integer
End Class
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
SelectedBom.Show()
End Sub
Private Sub BOM_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim myList As New List(Of Sample)
myList.Add(New Sample() With {.ID = 1, .Name = "A"})
myList.Add(New Sample() With {.ID = 2, .Name = "B"})
myList.Add(New Sample() With {.ID = 3, .Name = "C"})
DataGridView1.DataSource = myList
End Sub
End Class
在SelectBOM表单中添加DataGridView1
Public Class SelectedBom
Private Sub SelectedBom_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim i As Integer = 0
DataGridView1.AutoGenerateColumns = False
DataGridView1.Columns.Add("Name", "Name")
DataGridView1.Columns.Add("No", "No")
For Each row As DataGridViewRow In BOM.DataGridView1.Rows
If DirectCast(row.Cells(0).Value, Boolean) Then
DataGridView1.Rows.Add(row.Cells(1).Value, row.Cells(2).Value)
End If
Next
End Sub
End Class
也许您不应该使用for each语句,而应该使用:
for istep as integer = 0 to datagridview.rowcount - 2
使用for-each语法,当您沿着行走时,无法为单个行指定值。谢谢!!我更新了密码。。没有效果!!它在第一列第一行给出-1!!:(@Ruchi22我不知道第一个单元格中有什么内容。请编写一个小程序并尝试解决这些问题。我从2-3天就开始尝试这个。实际上我是第一次使用vb.net。所以我想如果你能指导我的话!!@Ruchi22-请看我的帖子。我已经添加了一个示例。Ohk..我将实现这个,并与您联系。)非常感谢你。。
for istep as integer = 0 to datagridview.rowcount - 2