Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
8 / 8 / 0
Регистрация: 18.09.2015
Сообщений: 39
1

DatagridView-обработка ошибки ввода

13.10.2015, 14:23. Просмотров 1642. Ответов 3
Метки нет (Все метки)

Добрый день!
Возникло два вопроса:
1) Данные вносятся через DatagridView (Связка Dataset,BindingSource,Datagrid ). В таблице есть ключевые поля.
Как мне сделать так, чтобы , если пользователь вводит новую строку и не ввел данные в ключевые поля и пытается перейти на другую строку, то программа бы выдавала предупреждение и фокус передавался этой ячейке.
При обработке события DataError сообщение показываю, но дальше происходит отмена редактирования и вся строка исчезает. А нужно , чтобы ошибочная ячейка переходила в режим редактирования.
2) Как из System.Data.NoNullAllowedExcep tion исключения получить имя колонки таблицы в которой нарушено ограничение?
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2015, 14:23
Ответы с готовыми решениями:

Обработка ошибки ввода Edit
Подскажите пожалуйста, есть код на обработку ошибки если значение в edit1 больше чем в DBEdit1 то...

Обработка ошибки ввода чисел
Подскажите, пожалуйста, как сделать повторный ввод в случае ошибки: 1) Если вместо количества строк...

Контроль ввода даты и выдача сообщения в случае ошибки неверного ввода
Здравствуйте! У меня есть такая вот форма(скрин ниже). Смысл в том, что если пользователь введет...

Контроль ввода даты в MaskEdit и выдача сообщения в случае ошибки неверного ввода
Всем доброго дня! Использую MaskEdit для ввода даты формат: dd/mm/yyyy Помогите написать...

3
3 / 3 / 6
Регистрация: 16.10.2015
Сообщений: 19
25.10.2015, 11:43 2
Как по мне, то добавление новой записи можно организовать через TextBox и если нужно другие контролы (создать фому добавления записи). После ввода информации, нажатие кнопки "Добавить" и проверка ее. А вот редактирование производить в самом DataGridView и проверка ключевых полей через событие CellEndEdit.
0
2 / 2 / 2
Регистрация: 30.07.2017
Сообщений: 212
22.08.2017, 15:32 3
Добрый день!
У меня вопрос на эту же тему с небольшой вариацией. Обрабатываю событие DataError для исключения некорректного ввода данных пользователем в DataGridView.
Вопрос 1: (e.Context == DataGridViewDataErrorContexts. Parsing) не true, т.к. DataGridViewDataErrorContexts одновременно и Parsing и Commit, как корректно проверить значение e.Context? Что-то вроде (DataGridViewDataErrorContexts .Parsing in e.Context)?
Вопрос 2: проверка проходит нормально (на несоответствие типов), а, если скажем, я хочу, чтобы пользователь в столбец с данными типа double вводил только неотрицательные значения? Как это проверить? Тоже в DataError или в других событиях?

Добавлено через 15 секунд
Добрый день!
У меня вопрос на эту же тему с небольшой вариацией. Обрабатываю событие DataError для исключения некорректного ввода данных пользователем в DataGridView.
Вопрос 1: (e.Context == DataGridViewDataErrorContexts. Parsing) не true, т.к. DataGridViewDataErrorContexts одновременно и Parsing и Commit, как корректно проверить значение e.Context? Что-то вроде (DataGridViewDataErrorContexts .Parsing in e.Context)?
Вопрос 2: проверка проходит нормально (на несоответствие типов), а, если скажем, я хочу, чтобы пользователь в столбец с данными типа double вводил только неотрицательные значения? Как это проверить? Тоже в DataError или в других событиях?
0
359 / 286 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
22.08.2017, 17:01 4
1. Посмотрите, может быть есть событие Validate() - если есть, то попробуйте через него.
2. Я бы сделал маску для поля вместо постобработки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2017, 17:01

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

Отмена ввода и повтор ввода в DataGridView
Всем привет!!! В DataGridView подключенному к Access провожу следующее действия: добавление и...

При повторном появлении ошибки обработка ошибки не срабатывает
Логика: - Пользователь. Нажимает кнопку; - Код . Создаёт "Recordset" "rstStud"(студенты) и...

Проверка ввода в DataGridView
Здравствуйте. Почему-то не работает код, который разрешает вводить в DataGridView только числа и...

Ограничения ввода в DataGridView
Необходимо, чтобы при редактировании (или вводе) значений в ячейках DataGridView, имеющих...


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

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

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