将一行复制到另一行值

时间:2012-03-25 06:04:09

标签: vb.net datagridview

使用Windows表单(Vb.net& Datagridview)

Checkbox正在使用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

Tried Code。

 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

以上代码适用于if复选框,然后它将获取当前行值。但我想添加新行,以复制所有当前行值。怎么做。

需要Vb.net代码帮助

1 个答案:

答案 0 :(得分: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