![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать множественный фильтр с использованием ClientDataSet
я © (2011-10-03 02:07:00)
BaseAlphabet.ClientDataSet1.Filtered := false;
BaseAlphabet.ClientDataSet1.filter := ('Square = Square') and
('CentrMassX = xc') and ('CentrMassY = yc');
BaseAlphabet.ClientDataSet1.Filtered := true;
Так не работает. База файловая. Хранится в файлах *.сds;
Германн (2011-10-04 01:40:00) [1]
> кажется заработало.
>
Когда "кажется", креститься надо.
Вот ИШ тебе подсказал, что нужно использовать, если решать вопрос грамотно в рамках твоих знаний.
я (2011-10-04 01:29:00) [2]
> Честно скажу: не в курсе, т.к. никогда не использовал, предпочитал
> фильтрацию на сервере запросом. Но по моим ощущениям в стандартных
> реализациях TDataSet задание переменных невозможно.
> Т.е. должно быть что-то типа (Square = 'xxx') and (CentrMassX
> = 18) and (CentrMassY = 34)
BaseAlphabet.ClientDataSet1.filter := 'Square ='+ IntToStr(Square) + ' and CentrMassX =' + IntToStr(xc) + ' and CentrMassY ='+ IntToStr(yc);
кажется заработало.
Игорь Шевченко (2011-10-03 21:57:00) [3]Use OnFilterRecord, Luke
Ega23 (2011-10-03 21:55:00) [4]
> считал за переменные а не поля? вопрос на 3 секунды для
> тех кто в курсе.....
Честно скажу: не в курсе, т.к. никогда не использовал, предпочитал фильтрацию на сервере запросом. Но по моим ощущениям в стандартных реализациях TDataSet задание переменных невозможно.
Т.е. должно быть что-то типа(Square = 'xxx') and (CentrMassX = 18) and (CentrMassY = 34)
я (2011-10-03 21:08:00) [5]'(Square = Square) and (CentrMassX = xc) and (CentrMassY = yc)';
тут он ругается что xc не есть поле ДатаСета, из чего можно заключить, что Square=Square- True. Но вопрос остается прежним, как задать множественный фильтр и чтобы он xc,yc и Square считал за переменные а не поля? вопрос на 3 секунды для тех кто в курсе.....
Ega23 (2011-10-03 13:04:00) [6]
> по моим ощущениям Square это имя поля в таблице, а второй
> раз это имя переменной
По моим ощущениямSquare = Square- это True.
Не, я конечно могу ошибаться, но всё-таки по моим ощущениям - True.
я (2011-10-03 13:00:00) [7]помогли бы материально ) че то никак не могу понять как расставить знаки препинания. по моим ощущениям Square это имя поля в таблице, а второй раз это имя переменной которой оно дожно быть равно....
Ega23 (2011-10-03 11:15:00) [8]
Square = Square
На душе стало немножечко тревожно
icWasya (2011-10-03 09:25:00) [9]Разберись, где надо ставить кавычки. Фильтр это одна строка, внутри которой должно быть логическое выражение.