powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как выделить ячейку в Гриде?
5 сообщений из 5, страница 1 из 1
Как выделить ячейку в Гриде?
    #33622928
A/\EKC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста как в гриде при нажатии мышью на ячейку (TextBox) ячейка сразу вся выделялась, так же как при перемещении с помощью стрелок на клавиатуре.То есть чтоб в ячейке не курсор мигал, а было выделение содержимого полностью. При повторном нажатии на ячейку - как обычно, выделение снимается и начинает мигать курсор. Если TextBox не в гриде, а просто лежит на форме, то прокатывает такой модуль в GotFocus():

TextBox::GotFocus
THIS.SelStart = 0
THIS.SelLength = LEN(ALLTRIM(THIS.Text))

Но когда TextBox лежит в Гриде то ничего не меняется
...
Рейтинг: 0 / 0
Как выделить ячейку в Гриде?
    #33653507
Tang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дарова!
ваще я может чё и не понял но в гриде есть свойство выдиления всего рядка
allowcellselection. может его тебе надобно поставить в .f. да и всё=)
...
Рейтинг: 0 / 0
Как выделить ячейку в Гриде?
    #33654252
AlikT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, TextBox, который стоит в гриде - по умолчанию почему то не полнофункциональный. Я, обычно, в Column добавляю ещё один элемент управления (в данном случае TextBox), назначаю его рабочим для колонки и уже в нём делаю необходимые операции.

Попробуй.
...
Рейтинг: 0 / 0
Как выделить ячейку в Гриде?
    #33654428
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Tang!

Не поможет - если allowcellselection = .F. то грид будет readonly - и вообще
никакого "выделения ячейки" там происходить не будет (быдет выделяться
строка целиком).

2 AlikT

Замена контрола в данном случае ничего не решает - т.е. нету принципиальной
разницы - будет для стандартного текстбокса прописано что-то в обработчиках
его событий, или просто стандартный текстбокс будет заменён на свой (в
котором это "нечто" прописано на уровне класса). Конечно с точки зрения ООП
нужно производить заену класса, а не код по Ctrl+C Ctrl+V копировать - но
проблема как я понимаю не в этом, а в том что не ясно какой же код и куда
прописывать дабы "первый клик" выделял ВСЁ содержимое ячейки, а не
устанавливал курсор ввода в то место поля куда кликнули - это очень
напрягает пользователей - попробуй скажем в поле с датой (в гриде) вводить
данные - переходя туда не с клавиатуры а мышкой - трудно попасть в область
"перед данными" - особенно если ширина поля точно подогнана под размер
даты - а если кликнуть где-то ближе к концу поля, то и вводиться данные
будут там...

Я пробовал бороться через всякие финты типа KEYBOARD Ctrl+A в Click
(используя разные флаги дабы отделить первый клик от последующих) - но в
гриде это действительно работает не очень стабильно.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как выделить ячейку в Гриде?
    #34427161
OrenAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NODEFAULT
TextBox::GotFocus()
THIS.SelStart = 0
THIS.SelLength = IIF(TYPE('THIS.Value') = 'N' ;
OR INLIST(THIS.Alignment, 1, 2), ;
LEN(THIS.Text), LEN(ALLTRIM(THIS.Text)))

Прокатывает, только не GotFocus, попробуй на Click
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как выделить ячейку в Гриде?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]