Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 22.06.2012
Сообщений: 244
1

Форма представления записи из DataGrid

29.04.2013, 11:40. Просмотров 603. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Прошу направить направление мысли в нужное русло, ибо впервые буду реализовывать следующий сценарий:
Есть DataGrid, нужно чтобы при двойном клике на запись или клике на кнопку в строке, вызывалась форма, в которой выделенная запись разложена по полочкам, для удобного редактирования. Собственно, вопрос касается именно процесса переноса и редактирования.

Какими средствами следует воспользоваться для таких целей?

Примерно вижу это так:
1. Создаем обработчик события двойного клика по записи в гриде, обработчик берет свойство текущего выделенного элемента.
2. Вызываем форму, раскладываем в ней запись по полочкам, находя ее по свойству выделенного элемента в гриде.
3. Мучаемся с возвратом данных в грид и далее в БД. Или не мучаемся...

Как-то так. Прошу рекомендаций

Добавлено через 2 часа 15 минут
Наваял, но не работает
C#
1
2
3
4
private void MyGrid_DoubleClick(object sender, EventArgs e)
        {            
            DataGridViewRow MyRow = MyGrid.SelectedRows[1]; // ОШИБКА! Вне границ коллекции                            
        }
Хотел вернуть первую строку из коллекции выбраных строк (мне ведь нужна только одна), а далее ее разложить, но произошла ошибка выхода за границы коллекции. Почему не понимаю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2013, 11:40
Ответы с готовыми решениями:

Добавление записи в Listview(1 форма) через Диалоговое окно(3 форма) другой формы (2 форма)
Всем доброго дня и с наступающими праздниками! Знаю, тема 7 частых вопросов по WinForms уже не...

DataGrid WPF: «EditItem» не разрешено для этого представления
Доброго времени суток. У меня есть DataGrid на форме, в нем заранее не известно сколько столбцов,...

mvvm : как в модель представления передать имя колонки DataGrid?
Уважаемые Гуру! Есть userControl на котором DataGrid. В модели представления делаю фильтр данных....

Как обновить данные в DataGrid, если они берутся из представления?
Понимаю, что многим это покажется смешным, но все же... Впервые сталкиваюсь с БД. Когда...

2
306 / 304 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
29.04.2013, 11:49 2
для начала, первая будет иметь индекс 0.
Кроме того, проверьте сначала на наличие выделенных строк вообще:
C#
1
2
if (MyGrid.SelectedRows.Count > 0)
   DataGridViewRow MyRow = MyGrid.SelectedRows[0];
0
2 / 2 / 1
Регистрация: 22.06.2012
Сообщений: 244
29.04.2013, 14:19  [ТС] 3
Цитата Сообщение от kontuPauk Посмотреть сообщение
для начала, первая будет иметь индекс 0.
Кроме того, проверьте сначала на наличие выделенных строк вообще:
C#
1
2
if (MyGrid.SelectedRows.Count > 0)
   DataGridViewRow MyRow = MyGrid.SelectedRows[0];
Сорри, скопировал код из экспериментов. Про нулевой индекс в курсе.
Переделал, свойство возвращает строку исправно. Посмотрю что будет дальше.

Добавлено через 1 час 42 минуты
Итак, строку успешно выдрал, теперь встает вопрос как логичнее всего передать ее вызываемой форме.
Самый простой способ - это, конечно, тупо присвоить NewForm.TextBox.Text=MyRow.Cells[0...n];
но тогда придется убирать их инкапсуляцию, что нарушает каноны красоты, плюс, как выяснилось, тестбоксы очень привередливы к принимаемым значениям, приходится конвертить в примлемый формат...а ведь потом еще и назад придется конвертить, чтобы вернуть в источник данных
Как поступить лучше?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2013, 14:19

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Форма представления данных
Из пхп на страницу, аяксом, подгружаются данные из таблицы БД while ($row = $query->fetch_assoc())...

Форма представления переменного тока, напряжения и сопротивления
Есть PictureBox. Размер 300х200. Необходимо построить график синусоиды. Пользователь вводит...

Форма ВХОДА и форма РЕДАКТИРОВАНИЯ-ДОБАВЛЕНИЯ записи
Помогите ЛЮДИ ДОБРЫЕ !!! Срочно нужна готовая форма LOGIN (имя пользователя выбирается...

DataGrid и подчинённая форма Access
Люди, как связать грамотно два датагрида, симитировав подчинёную форму аксеса? Или лучше и проще...

Составить алгоритм (любая форма представления) и написать программу: В некоторой стране используются денежные купюры до¬стоинством в 1, 2, 4, 8, 16,
Составить алгоритм (любая форма представления) и написать программу: В некоторой стране...

Описать тип записи для представления анкеты школьника
Описать тип записи для представления анкеты школьника : ФИО,возраст,номер школы,класс,оценки по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.