Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Редактирование с помощью DataGridView / 8 сообщений из 8, страница 1 из 1
26.04.2007, 09:03
    #34488484
Sharic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование с помощью DataGridView
Здравствуйте.
Возник такой вопрос:
Для редактирования информации из БД я использую DataGridView.
Пользователю отображается информация из БД, потом он вносит изменения в ячейках DataGridView и я их проверяю. Так вот, если введенное значение меня не устроило, как вернуть старое значение ячейки.
Пробую сделать так:
перехватываю событие завершения редактирования, проверяю введенные данные и если они неверные, то пытаюсь присвоить другое значение...
Однако, в DataGridView и в DataSourсe остается введенное пользователем.
Может предыдущее значение хранится где-то?
Или как-то можно программно отменить редактирование, типа нажатия Esc?
...
Рейтинг: 0 / 0
26.04.2007, 22:54
    #34491234
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование с помощью DataGridView
Sharic
Для редактирования информации из БД я использую DataGridView.

есть возможность вызвать RejectChanges у источника данных. Если не покидаете строку то CancelEdit

А вообще редактировать непосредственно в гриде ИМХО не есть хорошо.

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
27.04.2007, 06:29
    #34491478
Sharic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование с помощью DataGridView
автор
есть возможность вызвать RejectChanges у источника данных. Если не покидаете строку то CancelEdit


Спасибо, это конечно помогает. Просто я думал, что отменить редактирование можно сразу в обработке события CellParsing, а в это время, я так понимаю, еще новое значение не присвоено ячейке.

автор
А вообще редактировать непосредственно в гриде ИМХО не есть хорошо.


Хм, я первый раз работаю с базой данных и как-то ничего более подходящего не нашел.
Может правда есть варианты получше? Подскажите, плиз.
...
Рейтинг: 0 / 0
03.05.2007, 21:29
    #34503488
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование с помощью DataGridView
Sharic
Хм, я первый раз работаю с базой данных и как-то ничего более подходящего не нашел.
Может правда есть варианты получше? Подскажите, плиз.

Да обычный самый примитивный вариант, грид для просмотра, текстбоксы и другие компоненты для редактирования. ИМХО обязательно наличие кнопок "ОК" и "Отмена" для возможной фиксации изменений или отмены оной.

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
07.05.2007, 11:56
    #34509080
Sharic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование с помощью DataGridView
Все...теперь поясню, что именно мне было непонятно.
Для редактирования я решил оставить датагрид, кнопка по которой изменения вносятся в базу данных у меня имеется.
При изменении содержимого ячейки возникает событие CellParsing, в этот момент в ячейке грида и в датасорсе еще старые значения, а новое, введенное пользователем получаем как DataGridViewCellParsingEventArgs e.Value. Это значение можно обработать, проверить и принять решение устраивает оно меня или нет. Вот только редактирование тут еще нельзя отменить, то есть CancelEdit не срабатывает.
Сразу за этим событием возникает другое событие CellEndEdit, вот тут уже введеные значения присвоены и источнику и гриду. Теперь можно сделать отмену редактирования.
:-)
Все оказалось достаточно просто, вот только в обилии методов и событий грида новичку было сложно разобраться.
...
Рейтинг: 0 / 0
23.09.2007, 16:08
    #34820041
Surgeon2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование с помощью DataGridView
Для удаления строк используется DataGridView.
Мышкой нажимаю на строку, она отмечается и нажимаю кнопку Delete на форме.
Чтобы удаление произошло мне надо получить ID записи, но тип DataGridViewRow не разрешает обращение к конкретному полю, наприме: row["Title_ID"].
Как быть?
...
Рейтинг: 0 / 0
26.09.2007, 11:13
    #34826938
Sharic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование с помощью DataGridView
Я правильно понимаю вопрос?
dg.Rows[0].Cells["id"].Value - не получается получить значение?
...
Рейтинг: 0 / 0
26.09.2007, 11:18
    #34826958
Sergey Tokarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование с помощью DataGridView
CellValidating событие попробуйте
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Редактирование с помощью DataGridView / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]