Страница 1 из 1

Фильтр в RxDBGrid

СообщениеДобавлено: 22.10.2019 09:50:50
Xenar
Все привет.
У RxDBGrid есть зело полезная штука как фильтр по содержимому поля колонки. Есть ли возможность получить значение выбора пользователя по фильтру и в каком поле/столбце он это сделал.
Конечно у грида есть событие OnFiltred но толку от него в данном случаи не вижу.

Re: Фильтр в RxDBGrid

СообщениеДобавлено: 22.10.2019 09:57:29
alexs
Сам фильтр со всеми его полями доступен:
Код: Выделить всё
RxDBGrid1.ColumnByFieldName('').Filter. ;

Там можно всю информацию получить.

Re: Фильтр в RxDBGrid

СообщениеДобавлено: 22.10.2019 11:02:11
Xenar
alexs писал(а):Сам фильтр со всеми его полями доступен:
Код: Выделить всё
RxDBGrid1.ColumnByFieldName('').Filter. ;

Там можно всю информацию получить.


Делаю простейшее
RxDBGrid1.ColumnByFieldName('').Filter.ToString

При выборе значения в фильтре валиться с ошибкой на данную строку.
Что то делаю не так ??

Re: Фильтр в RxDBGrid

СообщениеДобавлено: 22.10.2019 12:14:05
alexs
Ну во первых - имя столбца реальное подставлено?
Во вторых - текущие значения фильтра - Filter.CurrentValues

Re: Фильтр в RxDBGrid

СообщениеДобавлено: 22.10.2019 16:12:01
Xenar
alexs писал(а):Ну во первых - имя столбца реальное подставлено?
Во вторых - текущие значения фильтра - Filter.CurrentValues


1. Да конечно
2. CurrentValues - нет такого метода

Re: Фильтр в RxDBGrid

СообщениеДобавлено: 22.10.2019 16:24:59
alexs
Это не метод.
Это свойство:
Код: Выделить всё
  TRxColumnFilter = class(TPersistent)
  private
  ...
  public
  ...
    procedure ClearFilter;

    property State:TRxFilterState read FState write FState;
    property CurrentValues : TStringList read FCurrentValues;
    property ManulEditValue : string read FManulEditValue write FManulEditValue;
    property DisplayFilterValue:string read GetDisplayFilterValue;
  published
  ...

Код: Выделить всё
procedure TForm1.Button2Click(Sender: TObject);
begin
  Label2.Caption:=RxDBGrid1.ColumnByFieldName('NAME').Filter.CurrentValues.Text;
end; 


Смотри пример в ревизии 7166.