Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
 Аватар для Antykus
0 / 0 / 2
Регистрация: 10.05.2014
Сообщений: 230
.NET 4.x

DataGridView и тип данных в колонке

13.05.2016, 21:13. Показов 4487. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имею DataGridView, у которого DataSource - Datatable. В этой Datatable есть поля типа float. Когда юзер редактирует ячейку в гриде и в числовую колонку пытается ввести, например, символ, выдаётся ошибка. Пытаюсь решить проблему так: юзер пускай вводит что хочет, но при неправильном вводе возникнет событие

C#
1
2
3
4
5
6
  private void gridProducts_DataError(object sender, DataGridViewDataErrorEventArgs e)
        {          
            gridProducts.CurrentCell.DetachEditingControl();
            gridProducts.CurrentCell.Value = 0.0;
            gridProducts.CurrentCell.Selected = false;          
        }
Вроде верным путём иду, и по мысли моей после неверного ввода в ячейку просто будет введено значение 0.0, но этого не происходит, ячейка просто становится пустой
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2016, 21:13
Ответы с готовыми решениями:

Привязка данных к определенной колонке и строке в datagridview
Подскажите пожалуйста, как можно поместить определенные данные в нужный столбец и определенную строку в datagridview??

Определить тип данных в ячейках DataGridView
Привет всем форумчане! Мне нужно ваше помощь, у меня есть DGV , в нем 1 столбец и 20 строка с данными, я хочу определить какой из строка...

Поиск по колонке в DataGridView
Всем привет, такая проблема, у меня есть функция поиска, которая ищет данные в datagridview. В самом ГРИДЕ есть столбец Дата ОКОНЧАНИЯ...

4
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
14.05.2016, 14:23
Вы правильно рассуждаете. Типы колонок заданы в DataTable и трансформированы в DGV. Вводимые значения должны соответствовать типу столбца. Хотите установить свое значение, то то после присвоения нужно сделать
C#
1
dataGridView1.RefreshEdit();
Но лучше выдать сообщение пользователю об ошибке для исправления.
1
 Аватар для Antykus
0 / 0 / 2
Регистрация: 10.05.2014
Сообщений: 230
14.05.2016, 14:30  [ТС]
MVK, спасибо большое. Мне бы ещё понять как сделать так:
пользовать ввёл неверное значение, букву например, получил сообщение об ошибке, по нажатию на кнопку ОК значение должно поменяться на 0,0 сразу. А оно таким становится только после того как юзер переведёт фокус на другую ячейку

Сейчас код такой

C#
1
2
3
4
5
            MessageBox.Show("Допустимы только числовые значения","",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
            gridProducts.CurrentCell.Value = 0.0;
            gridProducts.CurrentCell.Selected = false;
            gridProducts.CurrentCell.DetachEditingControl();
            gridProducts.RefreshEdit();
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
14.05.2016, 15:16
Лучший ответ Сообщение было отмечено Antykus как решение

Решение

1) Для чего Вы добавили метод
C#
1
gridProducts.CurrentCell.DetachEditingControl();
Удалите его и все будет как Вы хотите.
2) Зачем снимаете выделение с ошибочной ячейки? Ведь пользователь вероятнее всего исправит значение. Я бы эту строчку тоже удалил бы.
1
 Аватар для Antykus
0 / 0 / 2
Регистрация: 10.05.2014
Сообщений: 230
14.05.2016, 15:26  [ТС]
MVK, экспериментировал в поисках истины
Спасибо Вам
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2016, 15:26
Помогаю со студенческими работами здесь

Изменение цвета в колонке dataGridView
Допустим, есть таблица dataGridView. В ней есть 4 колонки. Как сделать так, что бы если в 4 колонке текст изменился на...

Целочисленное значение в колонке datagridview
скажите как извлечь из колонки datagridview значения из всех строк так, чтобы получились целочисленные значения и вывести их сумму в метку....

Создание заданий в колонке DataGridView
Имеется обыкновенный Grid, в одной из колонок которой идет добавление заданий(см. Скрин) Никак не могу понять с точки зрения...

Подсчет уникальных значений в колонке dataGridView
Необходимо подсчитать количество уникальных значений в колонке dataGridView. Ответ к прикрепленной картинке: 6. Как это сделать?...

В DataGridView к колонке привязать колонку из Datatable
Добрый день, в общем-то сабж. Как привязать данные с одной колонки в DataTable к определенной колонке в datagridview, с учетом того, что у...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru