![]() |
|
Модераторы: gambit |
![]()
|
|
| Grandpa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.7.2003 Где: Одесса Репутация: нет Всего: нет |
В Datagridview имеется колонка типа DataGridViewComboBox, выпадающий список привязан к таблице.
Проблема заключается в том, что когда фокус попадает на ячейку этой колонки и пользователь пытается ввести какое-либо значение, которого нет в списке, то высвечивается самое "похожее" значение в списке. При этом ячейка не переходит в состояние редактирования (нет карандаша). Если пользователь соглашается с отображаемым значением и жмёт tab, то при переходе к следующей ячейке наша ячейка становится пустой (null). "Похожее" значение в ней не остаётся. Чтобы там было значение надо, либо войти в список и выбрать, либо набрать значение, которое есть в списке. Такое поведение запутывает пользователя. Он видит в ячейки нужное значение, переходит к следующей, а значение в ячейке исчезает! Можно ли сделать так, чтобы "похожее" значение было занесено в ячейку? З.Ы. DataGridView сгенерирован из типизированного Dataset. |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
1 вариант. для упрощения работы поменяй стиль комбобокса с DropDown на DropDownList. Тогда ламер совсем не запутается. Но это вариант для ленивых.
2 вариант. напиши обработку какого-нибудь события, чтобы он при выборе даже близкого соответствия жестко изменял значения ячейки. -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| Grandpa |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.7.2003 Где: Одесса Репутация: нет Всего: нет |
akizelokro, спасибо за ответ.
Этот вариант отнюдь не для ленивых.
Все события скрыты в сгенерированном классе. Менять его, как показала практика, себе дороже. Так, что если никто не подскажет более элегантного решения, придётся через SendKeys. |
||||
|
|||||
| Grandpa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.7.2003 Где: Одесса Репутация: нет Всего: нет |
Спасение утопающих, дело рук ...
Пока нашёл только такое решение, обрабатываю в Datagriview событие EditingControlShowing
Т.е. моделируем движение по списку. Не уверен, что не будет побочных эффектов. Если кто может предложить другое решение, буду очень рад. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |