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

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

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

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

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

Контроль ввода данных в DataGridView
Хотелось бы сделать следующее: 1. Запретить непосредственный ввод данных в поле даты и разрешить...

Обработка ввода нуля
private void button1_Click(object sender, EventArgs e) { int P; ...

Обработка MouseClick в DataGridView
День добрый, уважаемые форумчане! Внимание знатоки, вопрос: Есть 2 datagridview. Первый...

Обработка данных в DataTable (DataGridView)
Добрый день, ситуация такая - имеется форма и DataGridView на ней: private void...

3
vetnik
3 / 3 / 6
Регистрация: 16.10.2015
Сообщений: 19
25.10.2015, 11:43 2
Как по мне, то добавление новой записи можно организовать через TextBox и если нужно другие контролы (создать фому добавления записи). После ввода информации, нажатие кнопки "Добавить" и проверка ее. А вот редактирование производить в самом DataGridView и проверка ключевых полей через событие CellEndEdit.
0
wrq2017
2 / 2 / 2
Регистрация: 30.07.2017
Сообщений: 193
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
hoolygan
356 / 283 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
22.08.2017, 17:01 4
1. Посмотрите, может быть есть событие Validate() - если есть, то попробуйте через него.
2. Я бы сделал маску для поля вместо постобработки.
0
22.08.2017, 17:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2017, 17:01

Изменения в DataTable и обработка CellValueChanged DataGridView
Насколько я понял, что изменения в DataTable не влекут за собой события CellValueChanged в...

Обработка ошибок при заполнении dataGridView
В таблице базы есть обязательные поля, ели в dataGridView эти поля не заполнить то соответственно...

Обработка ошибки уникальности
CREATE TABLE . ( INT NOT NULL PRIMARY KEY IDENTITY, nchar(10) UNIQUE NOT NULL ...


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

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

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