Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Получение DataGridViewRow


Автор: Pogreb 18.4.2008, 05:36
Доброго времени суток smile)

У меня возник такой вопрос. Как можно получить DataGridViewRow  у одно грида, и добавить его в другой.
Цель конечно же перенос данных, это можно решить копированием каждой ячейки, но так же не интерестно.
Может я просто не могу найти правильный способ, чтобы это сделать.
Контекст у меня такой:
1. Выполняется запрос из базы данных.
2. Результат заносится в DataGridView через DataSource. В DataSource приходит тип List.

И уже из полученной таблицы мне надо получить выбранную строку курсором мыши.
Пробывал создать тип DataGridViewRow и через SharedRow присвоить нужную строку, ошибок не выдавало, все проходило гладко, только и данные не доходили до конечного грида.
Попробывал вариант добавления строки в DataGridView руками, без использования DataSource. Результат тот же самый.

Если кто-либо имел дело с таким, подскажите пожалуйста.

Спасибо.

Автор: akizelokro 18.4.2008, 08:08
Код

DataGridViewRow dgvr = dataGridView1.Rows[RowIndex];


Получить можно в обработчике клика мышкой.

DataGridViewRow используется для доступа к UI строки конкретного DataGridView и содержащихся в строке ячеек. Механическое копирование DataGridViewRow из одной гриды к другой гриде не нужно использовать, если гриды неидентичны (разные привязки к данным и определения столбцов). Если тебе нужны именно данные, присваивай значения ячеек

Код

dataGridViewRow1.Cells[ColumnIndexInFirstGrid].Value = dataGridViewRow2.Cells[ColumnIndexInSecondGrid].Value



Автор: Pogreb 18.4.2008, 22:09
Так в том то и дело, что у меня гриды одинаковой структуры.
И мне бы хотелось передавать туда целые строки, а не копировать ячейками.

Код который был приведен выше не совсем работает.
Код

DataGridViewRow dgvr = dataGridView1.Rows[RowIndex];


Если я не ошибаюсь, тут было бы неплохо вызавать метод Clone() как минимум.
И даже после этого, эта строка(dgvr) получается пустной.

Все же очень хотелось бы полчать строку грида с данными, а она у меня пустая.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)