Member 13336882 Ответов: 1

Копирование выделенных строк из одного datagridview в другой VB.NET


У меня есть 2 dgvw на 2 формы. Первый dgvw имеет столбец checbox.Я хочу скопировать проверенные строки из dgvw 1 в dgvw 2..без какого-либо нажатия кнопки..я имею в виду, что строки будут копировать себя, как только пользователь установит флажок строки...

Что я уже пробовал:

Я использую приведенный ниже код :

Private Sub userdatagrid_SelectionChanged(sender As Object, e As EventArgs) Handles userdatagrid.SelectionChanged
       Dim c, t As Integer
       Selected.dg2.Columns.Clear()
       For t = 0 To userdatagrid.Columns.Count - 1
           Selected.dg2.Columns.Add(userdatagrid.Columns(t).Clone())
       Next
       For c = 0 To userdatagrid.Rows.Count - 1
           If userdatagrid.Rows(c).Cells(0).Value = True Then
               Selected.dg2.Rows.Add(userdatagrid.Rows(c).Cells(0).Value, userdatagrid.Rows(c).Cells(1).Value, userdatagrid.Rows(c).Cells(2).Value, userdatagrid.Rows(c).Cells(3).Value, userdatagrid.Rows(c).Cells(4).Value, userdatagrid.Rows(c).Cells(5).Value, userdatagrid.Rows(c).Cells(6).Value, userdatagrid.Rows(c).Cells(7).Value, userdatagrid.Rows(c).Cells(8).Value, userdatagrid.Rows(c).Cells(9).Value, userdatagrid.Rows(c).Cells(10).Value, userdatagrid.Rows(c).Cells(11).Value, userdatagrid.Rows(c).Cells(12).Value, userdatagrid.Rows(c).Cells(13).Value, userdatagrid.Rows(c).Cells(14).Value, userdatagrid.Rows(c).Cells(15).Value, userdatagrid.Rows(c).Cells(16).Value, userdatagrid.Rows(c).Cells(17).Value, userdatagrid.Rows(c).Cells(18).Value, userdatagrid.Rows(c).Cells(19).Value, userdatagrid.Rows(c).Cells(20).Value, userdatagrid.Rows(c).Cells(21).Value, userdatagrid.Rows(c).Cells(22).Value, userdatagrid.Rows(c).Cells(23).Value, userdatagrid.Rows(c).Cells(24).Value, userdatagrid.Rows(c).Cells(25).Value, userdatagrid.Rows(c).Cells(26).Value, userdatagrid.Rows(c).Cells(27).Value, userdatagrid.Rows(c).Cells(28).Value, userdatagrid.Rows(c).Cells(29).Value, userdatagrid.Rows(c).Cells(30).Value)
           End If
       Next
   End Sub

  Private Sub form2_load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim img As DataGridViewImageColumn
       img = dg2.Columns(1)
       img.ImageLayout = DataGridViewImageCellLayout.Stretch
   End Sub
  Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
       Selected.Show()
   End Sub


Вопрос
Вы не можете голосовать на своем собственном посту
0
Здравствуйте, я сейчас использую этот код :

Private Sub userdatagrid_SelectionChanged(sender As Object, e As EventArgs) обрабатывает userdatagrid.SelectionChanged
Dim c, t как целое число
Выбран.почтовый индекс dg2.Столбцы.Четкий()
Для t = 0 - userdatagrid.Столбцы.Количество - 1
Выбран.почтовый индекс dg2.Столбцы.Добавить(userdatagrid.Столбцы(t).Клон())
Следующий
Для c = 0 в userdatagrid.Rows.Количество - 1
Если userdatagrid.Строки(c).ячейки(0).значение = True тогда
Selected.dg2.Rows.Add(userdatagrid.Rows(c).Cells(0).Value, userdatagrid.Rows(c).Cells(1).Value, userdatagrid.Rows(c).Cells(2).Value, userdatagrid.Rows(c).Cells(3).Value, userdatagrid.Rows(c).Cells(4).Value, userdatagrid.Rows(c).Cells(5).Value, userdatagrid.Rows(c).Cells(6).Value, userdatagrid.Rows(c).Cells(7).Value, userdatagrid.Rows(c).Cells(8).Value, userdatagrid.Rows(c).Cells(9).Value, userdatagrid.Rows(c).Cells(10).Value, userdatagrid.Rows(c).Cells(11).Value, userdatagrid.Rows(c).Cells(12).Value, userdatagrid.Rows(c).Cells(13).Value, userdatagrid.Rows(c).Cells(14).Value, userdatagrid.Rows(c).Cells(15).Value, userdatagrid.Rows(c).Cells(16).Value, userdatagrid.Rows(c).Cells(17).Value, userdatagrid.Rows(c).Cells(18).Value, userdatagrid.Rows(c).Cells(19).Value, userdatagrid.Rows(c).Cells(20).Value, userdatagrid.Rows(c).Cells(21).Value, userdatagrid.Rows(c).Cells(22).Value, userdatagrid.Rows(c).Cells(23).Value, userdatagrid.Rows(c).Cells(24).Value, userdatagrid.Rows(c).Cells(25).Value, userdatagrid.Rows(c).Cells(26).Value, userdatagrid.Rows(c).Cells(27).Value, userdatagrid.Rows(c).Cells(28).Value, userdatagrid.Rows(c).Cells(29).Value, userdatagrid.Rows(c).Cells(30).Value)
Конец, Если
Следующий
Конец Подводной Лодки

Частная суб form2_load(отправителя как объект, а равно EventArgs) обрабатывает ключевое слово mybase.Загрузить
Dim img Как DataGridViewImageColumn
img = dg2.Columns(1)
НВФ.ImageLayout = DataGridViewImageCellLayout.Протяжение
Конец Подводной Лодки
Private Sub Button6_Click(sender As Object, e As EventArgs) обрабатывает Button6.Click
Выбранный.Покажите()
Конец Подводной Лодки
Проблема с этим кодом заключается в том, что если я проверяю только одну строку/флажок и нажимаю на кнопку 6, то dgvw на форме 2 появляется в br rmpty. Мне нужно выбрать/проверить две строки, а затем появится только одна из них. Вторая проблема заключается в том, что предположим, что пользователь проверяет только один флажок и нажимает на кнопку , dgv в форме 2 пуст(я уже говорил об этом), но если пользователь закрывает форму 2 и снова открывает ее с помощью button6, он дает исключение индекса вне диапазона в форме 2 IMG=DG2.COLUMNS(1) ....Как исправить эти проблемы ??

Maciej Los

Что такое: Selected- Кажется, это вторая Винформа...