Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在datagridview中循环_Vb.net_Datagridview - Fatal编程技术网

Vb.net 在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,

我的是windows应用程序。包含名为BOM和BOMSelected的表单

BOM表中有datagridview,其中包含复选框列。。当用户选中复选框时,应在其他表单SelectedBom的datagridview中看到所选行

我已经编写了代码,但无法正常工作。。有些错误

你能帮忙吗

非常感谢你的帮助

这就是我所做的

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