Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2011, 20:57   #1
andrew_jr20
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 53
По умолчанию datagridview - позиционирование по мере набора текста

Добрый вечер.
Имеется WinForms и datagridview. Где-то видел такое представление поиска: при позиционировании на какой-нибудь ячейке при наборе текста заголовок столбца меняется на textbox и по мере набора в этом текстовом поле происходит позиционирование в строку с набранным значением. Возможно ли сделать это штатными средствами или необходим специальный компонент?
andrew_jr20 вне форума Ответить с цитированием
Старый 23.11.2011, 23:37   #2
andrew_jr20
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 53
По умолчанию

Нашёл вот здесь http://www.rsdn.ru/article/dotnet/Da...iew20part2.xml такое решение:
Цитата:
Q. Как "вписывается" редактирующий control в обычную ячейку понятно, а можно ли то же самое сделать с заголовочной? В частности, мне бы хотелось видеть такое поведение: пользователь делает двойной щелчок по заголовку столбца (сортировка отключена) и на его месте возникает обычное окно ввода. Пользователь вводит некое значение. Если после этого нажат Esc, то введенное значение просто отбрасывается и возникает обычный заголовок. Если же нажат Enter, то все то же самое, но еще производится попытка нахождения среди значений данного столбца того, что эквивалентно введенному пользователем. При успешном поиске искомая ячейка выбирается в качестве текущей.

A. Совсем "по-честному" описанное поведение не реализуется. По своему дизайну заголовочные ячейки не хотят и не принимают фокус ввода и, уж конечно, не предназначены для хостинга других контролов. Но можно схитрить – накладывать (временно) обычный текстбокс прямо поверх ячейки и убирать его по нажатию ESC / ENTER. Пример реализации этой идеи см. в проекте RenameInPlace_ColumnHeader (код приложен к статье).
Слегка подправив, всё очень даже нормально смотрится
andrew_jr20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Позиционирование текста в меню KorPaEv HTML и CSS 8 18.08.2011 08:01
позиционирование картинок относительно текста Naive HTML и CSS 1 16.11.2010 15:05
Позиционирование текста над конкретным местом другой строки RuZ HTML и CSS 0 29.07.2010 18:01
Контроль состояние набора текста в Edit. Delphi S_Yevgeniy Помощь студентам 2 07.06.2010 12:06
Программа для набора готового текста в текстовый редактор brick Помощь студентам 13 03.09.2009 09:26