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

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

Код: 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
11.08.2010, 14:02
    #36785996
RENaissance
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGrid FilterRow
?
...
Рейтинг: 0 / 0
11.08.2010, 14:08
    #36786006
sigareta
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGrid FilterRow
RENaissance,

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


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

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

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

когда у нас PercentWildcard := '*'; то keybd_event(LongInt(char('*')),0,0,0); не канает, просто затирается этот символ.. нужно еще какой-то ставить за ним , тогда все нормально.
...
Рейтинг: 0 / 0
11.08.2010, 15:17
    #36786221
RENaissance
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGrid FilterRow
???
Код: 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
Период между сообщениями больше года.
22.11.2018, 06:03
    #39736507
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGrid FilterRow
RENaissance, Спрасибо Вам большое))) Мне тоже это решение помогло для ExtLookupComboBox c TcxGridViewRepository
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGrid FilterRow / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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