vb.net - 循环遍历datagridview

标签 vb.net datagridview

我的是一个Windows应用程序。包含名为 BOM 和 BOMSelected 的表单..

BOM中有一个datagridview,其中包含checkbox列。当用户选择checkbox时,所选行应该在其他形式的datagridview中看到,SelectedBom..

我已经编码,但无法正常工作..出现一些错误..

你能帮忙吗?

非常感谢您的帮助..

这就是我所做的!!

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

最佳答案

尝试,

For Each row As DataGridViewRow In BOM.dgv1.Rows
  Dim obj(row.Cells.Count - 1) As Object
  For i = 0 To row.Cells.Count - 1
      obj(i) = row.Cells(i).Value
  Next
  Me.DataGridView2.Rows.Add(obj)
Next

编辑:

演示:

以 BOM 形式添加 Button1 和 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

关于vb.net - 循环遍历datagridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777205/

相关文章:

vb.net - 无法加载文件或程序集 System.Data.SQLite - Windows 应用程序

vb.net - 如何在 VB.NET 中声明 COM 可见的默认索引属性?

c# - 非常频繁地更新datagridview

c# - Datagridview组合框业务对象更新引用

c# - 将一组数据行绑定(bind)到 datagridview

.net - VB.NET:即使没有事件处理程序也会引发事件吗?

c# - 当 treenodeclick 打开表单时,表单落后

c# - 以编程方式下载pdf

mysql - 如何从 mysql 填充 datagridview 组合框 - vb.net

c# - 按 T​​AB 键时绕过 DataGridView 中的只读单元格