Фильтр в RxDBGrid

Модераторы: alexs, Модераторы

Фильтр в RxDBGrid

Сообщение Xenar » 22.10.2019 09:50:50

Все привет.
У RxDBGrid есть зело полезная штука как фильтр по содержимому поля колонки. Есть ли возможность получить значение выбора пользователя по фильтру и в каком поле/столбце он это сделал.
Конечно у грида есть событие OnFiltred но толку от него в данном случаи не вижу.
Аватара пользователя
Xenar
постоялец
 
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Re: Фильтр в RxDBGrid

Сообщение alexs » 22.10.2019 09:57:29

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

Там можно всю информацию получить.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Фильтр в RxDBGrid

Сообщение Xenar » 22.10.2019 11:02:11

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

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


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

При выборе значения в фильтре валиться с ошибкой на данную строку.
Что то делаю не так ??
Аватара пользователя
Xenar
постоялец
 
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Re: Фильтр в RxDBGrid

Сообщение alexs » 22.10.2019 12:14:05

Ну во первых - имя столбца реальное подставлено?
Во вторых - текущие значения фильтра - Filter.CurrentValues
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Фильтр в RxDBGrid

Сообщение Xenar » 22.10.2019 16:12:01

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


1. Да конечно
2. CurrentValues - нет такого метода
Аватара пользователя
Xenar
постоялец
 
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Re: Фильтр в RxDBGrid

Сообщение alexs » 22.10.2019 16:24:59

Это не метод.
Это свойство:
Код: Выделить всё
  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.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Фильтр в RxDBGrid

Сообщение Ichthyander » 01.07.2020 12:46:42

А для чего поле LastFilter
Код: Выделить всё
function TrxFilterByForm.Execute(AGrid: TRxDBGrid; var FilterStr: String; var LastFilter: TstringList): Boolean;
у формы фильтра rxDBGrid??
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Фильтр в RxDBGrid

Сообщение alexs » 02.07.2020 10:06:53

Ichthyander писал(а):А для чего поле LastFilter

Чтобы последний фильтр можно было отобразить
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Фильтр в RxDBGrid

Сообщение Ichthyander » 10.01.2024 01:12:10

МОжно ли как-то сделать так, чтобы в форме Filter data были также вычисляемые поля. Как при Filter in Table?
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Фильтр в RxDBGrid

Сообщение alexs » 10.01.2024 09:14:13

А как? Для каждой колонки отдельно? Или просто общий для грида?
Я когда делал фильтр там - орентировался на окно автофильтра из LO Calc.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Фильтр в RxDBGrid

Сообщение Ichthyander » 10.01.2024 15:47:16

Вот здесь https://disk.yandex.ru/i/ivKNhj64CEj_9w не присутствуют вычисляемые поля в комбобоксе выбора.
Но, что интересно, в filter in table те же самые вычисляемые поля есть и они работают https://disk.yandex.ru/i/YVOBMokXFRFfyw

Добавлено спустя 2 минуты 32 секунды:
alexs писал(а):
Re: Фильтр в RxDBGrid

Сообщение alexs » 10.01.2024 09:14:13
А как? Для каждой колонки отдельно? Или просто общий для грида?

Имеется ввиду в форме фильтра rxDBGrid отсутствуют вычисляемые поля (то есть их нет в реальности в базе SQLite, но в ZQuery они есть как вычисляемые у меня). При этом в быстром фильтре эти колонки/поля присутствуют. Может быть их и в эту форму можно также добавить?
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Фильтр в RxDBGrid

Сообщение Ichthyander » 11.01.2024 17:06:02

Так, ну в общем, мне объяснил Алексей: это фича. Механизмы у обоих фильтров разные
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань


Вернуться в RxLib

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru