vb.net - vb.net Datagrid 值到另一个数据网格
问题描述
大家好,我在使用 vb.net 将 datagrid 值传递到另一个 datagrid 时遇到问题。因为 youtube 上的大多数教程在 datagrid 中的行上都有固定值。我想要在数据库中获取的那个值,然后将其传递给 Datagrid1,然后传递给 Datagrid 2按钮点击。非常感谢
表单加载上的代码如下所示:
Me.DataGridView1.columns.Add("1","1")
Me.DataGridView1.columns.Add("2","1")
Me.DataGridView1.columns.Add("3","3")
Me.DataGridView2.columns.Add("1","1")
Me.DataGridView2.columns.Add("2","1")
并在传递值的按钮上:
dim dr as new System.Windows.Forms.datagridviewrow
for each dr In me.datagridview1.selectedRows
Me.DatagridView2.rows.Add(dr.cells(0).value,dr.cells(1).value,dr.cells(2).value....and so on)
解决方案
Dim sourceGrid As DataGridView = Me.DataGridView1
Dim targetGrid As DataGridView = Me.DataGridView2
Dim targetRows = New List(Of DataGridViewRow)
For Each sourceRow As DataGridViewRow In sourceGrid.Rows
If (Not sourceRow.IsNewRow) Then
Dim targetRow = CType(sourceRow.Clone(), DataGridViewRow)
For Each cell As DataGridViewCell In sourceRow.Cells
targetRow.Cells(cell.ColumnIndex).Value = cell.Value
Next
targetRows.Add(targetRow)
End If
Next
targetGrid.Columns.Clear()
For Each column As DataGridViewColumn In sourceGrid.Columns
targetGrid.Columns.Add(CType(column.Clone(), DataGridViewColumn))
Next
targetGrid.Rows.AddRange(targetRows.ToArray())
推荐阅读
- swift - 如何在 Swift 5.2-Xcode 版本 11.5 上覆盖 func observeValueForKeyPath
- python - 使用多处理时python中的缓慢pickle转储
- java - 给定行列表列表,将每行的字符串表示映射到其出现的总数
- snowflake-cloud-data-platform - Snowpipe 自动摄取配置看起来会触发所有管道
- python - 何时在 Python 中运行外部命令
- java - 嵌入式 Kafka 测试结果失败,大括号添加到 Value
- sql - 从一个表中查找最后一个日期和值并与另一个查询的结果相结合
- python - Discord bot 让特定用户阅读频道
- sql-server - 如何在 SQL 中累积计数
- docker - 覆盖 Docker 容器中的文件