【问题标题】:Copy one row to another row value将一行复制到另一行值
【发布时间】:2012-03-25 06:04:09
【问题描述】:

使用 Windows 窗体(Vb.net 和 Datagridview)

复选框在 datagridview 行中使用。我想将选定的行复制到新行。

举例

ID Value Checkbox

001 100 Checked
002 200 Checked
003 250 Unchecked

然后我尝试复制,然后它应该显示为

ID Value Checkbox

001 100 Checked
002 200 Checked
003 250 Unchecked
001 100 Checked
002 200 Checked

尝试过的代码。

 For i As Integer = grvList.RowCount - 1 To 0 Step -1
            If grvList.Rows(i).Cells(0).Value = True Then
                For j As Integer = 0 To grvList.Rows(i).Cells.Count - 1
                    MsgBox(grvList.Rows(i).Cells(j).Value)
                Next
            End If
 Next

'

grvlist - Datagridview
cells(0) - checkbox used

上面的代码适用于如果复选框被选中,那么它会采用当前行值。但我想添加新行,以复制所有当前行值。怎么做。

需要 Vb.net 代码帮助

【问题讨论】:

    标签: vb.net datagridview


    【解决方案1】:

    DataGridView 有一个应该可以工作的内置复制功能。

    编辑:AddCopy 不像宣传的那样工作,它插入一个与源行具有相同样式的空行。我们必须手动将单元格数据复制到新行。下面更新了代码。

    For i As Integer = grvList.RowCount - 1 To 0 Step -1
            If grvList.Rows(i).Cells(0).Value = True Then
    
                Dim NewRowIndex as integer = grvList.Rows.AddCopy(i)
    
                For j = 0 To (grvList.ColumnCount - 1)
                    grvList.Rows(NewRowIndex).Cells(j).value = _ 
                                               grvList.Rows(i).Cells(j).value
                Next
            End If
    Next
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      相关资源
      最近更新 更多