3 / 3 / 1
Регистрация: 13.12.2011
Сообщений: 89
|
|
1 | |
Запрет ввода определенных символов в dataGridView28.12.2012, 10:57. Показов 9243. Ответов 10
Метки нет (Все метки)
У меня есть таблица. Хочу чтобы кроме цифр и запятой вводить в ячейки ничего нельзя было. Кто подскажет.
Обычными обработчиками события у меня что-то не получается сделать, хотя в сети видел кучу примеров. И на этом сайте тоже. У кого есть готовое решение? В обычных текстбоксах все работает, а в таблице -нет
0
|
28.12.2012, 10:57 | |
Ответы с готовыми решениями:
10
Запрет ввода определенных символов в TextBox Запрет редактирования определенных колонок в DataGridView Запрет на ввод определенных символов Запрет ввода в datagridview |
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
|
28.12.2012, 11:56 | 2 |
У каждой колонки в DataGridView есть такое замечательное свойство, как DefaultCellStyle.Format. К нему можно и из дизайнера добраться. При помощи этого свойства и дизайнера, задача ввода в ячейку только чисел решается в пару кликов.
0
|
28.12.2012, 15:17 | 3 |
Как всегда рекомендую SourceGrid.
Если вам требуется хороший грид с огромными возможностями, используйте SourceGrid. Он тяжел в освоении, но если освоите - забудете про DataGridView =)
0
|
3 / 3 / 1
Регистрация: 13.12.2011
Сообщений: 89
|
|
29.12.2012, 08:21 [ТС] | 4 |
а если освоить datagridview можно про sourcegrid и не вспоминать
0
|
29.12.2012, 09:32 | 5 |
bypass, вы работали с SourceGriв, Даже если и не работали, скажите пожалуйста, как сделать в DataGridView объединение ячеек? Это только одна из множества задач, решаемых на SourceGrid в одну строчку...
Что касается конкретно задачи автора, она решается на SourceGrid на порядок проще, чем на DataGridView.
0
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
||||||
29.12.2012, 10:08 | 6 | |||||
Во-первых, хотел бы извиниться перед автором за не совсем правильный совет. Указанное мной свойство меняет только формат отображения колонки. Вводить туда можно все, что угодно. Валидация, конечно, все, что угодно не пропустит, но цель была, чтобы все, что угодно ввести нельзя было.
В DataGridView задачу можно решить примерно так:
Сейчас нам Doomer3D продемонстрирует, насколько проще эта задача решается в SourceGrid
1
|
29.12.2012, 10:34 | 7 |
У меня складывается впечатление, что вы относитесь ко мне недружелюбно. Все время спорите и т.д.. Не надо так делать.
А что касается пример как это реализуется на SourceGrid - покажу, если найду время. Но опять же, в который раз я обращаю снимание, что SourceGrid не нужен, если необходимо решить одну простую задачу и больше никогда не сталкиваться с ним, он необходим для тех, у кого такие задачи возникают часто. Я очень жалею, что раньше не знал о нем раньше и пытался решать все посредством DataGridView, реализуя в нем то, чего изначально не было.
0
|
3 / 3 / 1
Регистрация: 13.12.2011
Сообщений: 89
|
|
29.12.2012, 11:38 [ТС] | 8 |
вот я по совету Doomer3D еще месяц назад ставил себе SourceGrid. Я не спорю. Это отличное решение. Но он правда сложный. Там и прозрачность ячеек поддерживается и каждой ячейки в столбце можно свой тип поставить. Это здорово. Но все равно в нем многое не понятно. А какой-то супер литературы по нему не нашел. Вот и забил на него. Может конечно и зря
0
|
29.12.2012, 11:43 | 9 | ||||||||||
Вообще, в SourceGrid код аналогичен, но нет необходимости привязывать события EditingControlShowing и KeyPress. Достаточно назначить для нужных ячеек свой редактор, примерно так:
Пожалуй, в этом случае действительно пример проще не на порядок, а лишь на пол-порядка, но в SourceGrid этот код соответствует ООП, в отличие от метода динамической привязки и отвязки событий. Достаточно написать единожды свой класс для редактирования вещественных чисел и использовть его в дальнейшем в любом проекте. Код не до конца совершенного класса-редактора double: Кликните здесь для просмотра всего текста
В дальнейшем достаточно добавлять этот редактор к нужным ячейкам грида. А чтобы он был вообще классным, добавить код kodv'а в метод OnKeyPress.
1
|
29.12.2012, 11:53 | 10 |
Поверьте, я тоже так считал вначале, долго трахался мучился с ним, но потом все же осилил и теперь могу создать на нем то, на что DataGridView попросту не способен, пример на скриншоте.
"123" и "бла-бла-бла" - это ссылки (кстати, их в DataGridView нету), плюсик и минусик - кнопочки, да и сама ячейка демонстрирует мощь SourceGrid. И в 100500 раз обращаю внимание, что это не какая-то реклама SourceGrid (мне от этого никакой пользы нет), а просто совет программистам, как они могут упростить себе жизнь, если один раз изучат этот с первого раза сложный в понимании грид. Что касается методов изучения, рекомендую скачать SourceGrid с исходниками, там в последних версиях есть ОГРОМНЫЙ набор примеров почти на все случаи жизни - это лучше, чем какая-то литература о нем. Не по теме: Может мне написать по нему книжку? =)
1
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
|
29.12.2012, 15:16 | 11 |
Doomer3D, я не спорю, что SourceGrid гораздо более функцональный, чем DataGridView. Не только от вас я это слышал. Но, как говорил когда то мой преподаватель по программированию: "Зачем загонять в огород трактор, если нужно вскопать одну грядку?". С какими то простыми задачами и DataGridView справится прекрасно - это не TDBGrid из BCB. Если уж нужна реализация чего то более серьезного, то DataGridView в том виде, в котором он есть, плохо подходит.
0
|
29.12.2012, 15:16 | |
29.12.2012, 15:16 | |
Помогаю со студенческими работами здесь
11
Запрет ввода вручую в DataGridView Запрет ввода в ячейку DataGridView Запрет ввода определенных символов в Edit Запрет ввода определенных символов в dbgrid Запрет ввода определённых символов в scanf Запрет ввода в TextBox определенных символов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества
Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
|
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов.
. . .
|
С чего начать программировать микроконтроллеры
raxper 06.01.2025
Введение в мир микроконтроллеров
Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
|
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
|