Скопировать одну строку в другую строку - PullRequest
0 голосов
/ 25 марта 2012

Использование формы Windows (Vb.net & 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

1 Ответ

1 голос
/ 26 марта 2012

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...