powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGrid FilterRow
7 сообщений из 7, страница 1 из 1
cxGrid FilterRow
    #36785945
sigareta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
задача в следующем
при нажатии определенной клавиши показывать строку фильтрации (в фокусе) с преудстановленым символом '*'. необходимо так же, что бы в строке фильтрации был сразу же установлен курсор. Для того что бы пользователь вводя с клавиатуры некие символы сразу же получал их в фильтре. сейчас ему нужно либо кликнуть мышкой по строке фильтрациилибо нажать интер, что есть лишние манипуляции от которых он хочет уйти..

предустановить фильтр конечно не велика проблема..

Код: plaintext
1.
2.
3.
4.
5.
 
 PercentWildcard := '*';
 Options := [fcoCaseInsensitive, fcoShowOperatorDescription, fcoSoftCompare];
 Root.Clear;
 Root.AddItem(View.Columns[View.Controller.FocusedColumnIndex], foLike, '*', '*');

и выделить строку фильтрации так же
Код: plaintext
1.
2.
3.
  
  View.ViewData. FilterRow.Focused:=True;
  View.Columns[View.Controller.FocusedColumnIndex].FocusWithSelection;

но вся беда в том, что строка фильтрации выделяется но курсор редактирования не появляется, необходимо как я говорил нажимать на нее еще мышкой либо интер.

а также когда выделяешь ее мышкой или интером или F2 предустановленный символ в фильтре почему-то затирается.
...
Рейтинг: 0 / 0
cxGrid FilterRow
    #36785996
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?
...
Рейтинг: 0 / 0
cxGrid FilterRow
    #36786006
sigareta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissance,

нет ну так я же это и толкую что с позиционировать на строке фильтрации нет проблем..
Код: plaintext
1.
2.
  View.ViewData. FilterRow.Focused:=True;
  View.Columns[View.Controller.FocusedColumnIndex].FocusWithSelection;


но после этого не появляется курсор редактирования поля, то есть нужно еще нажимать мышкой или интером..
пробовал слать события нажатия клавиши гриду, тоже не проходит
...
Рейтинг: 0 / 0
cxGrid FilterRow
    #36786059
try01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sigareta,

Как тебе такой извращенский вариант? ))))
Код: plaintext
1.
2.
 keybd_event( 13 , 0 , 0 , 0 );
 keybd_event( 13 , 0 ,KEYEVENTF_KEYUP, 0 );
...
Рейтинг: 0 / 0
cxGrid FilterRow
    #36786072
sigareta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
try01,

отличный вариант! ) я ним только что его и нашел )) работает.. вот только одно НО осталось

когда у нас PercentWildcard := '*'; то keybd_event(LongInt(char('*')),0,0,0); не канает, просто затирается этот символ.. нужно еще какой-то ставить за ним , тогда все нормально.
...
Рейтинг: 0 / 0
cxGrid FilterRow
    #36786221
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
???
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  cxGrid2DBTableView1.Site.SetFocus();
  cxGrid2DBTableView1.ViewData.FilterRow.Focused := True;
   // установим значение фильтра для колонки id 
  cxGrid2DBTableView1.ViewData.FilterRow.Values[cxGrid2DBTableView1id.Index] := '11';
   // войдем в режим редактирования 
  cxGrid2DBTableView1.Controller.EditingController.ShowEdit(cxGrid2DBTableView1id);
   // курсор установим после второго символа 
  (cxGrid2DBTableView1.Controller.EditingController.Edit  as  TcxMaskEdit).SelStart :=  2 ;
   // снимем выделение 
  (cxGrid2DBTableView1.Controller.EditingController.Edit  as  TcxMaskEdit).SelLength :=  0 ;
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
cxGrid FilterRow
    #39736507
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissance, Спрасибо Вам большое))) Мне тоже это решение помогло для ExtLookupComboBox c TcxGridViewRepository
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGrid FilterRow
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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