Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.08;
Скачать: CL | DM;

Вниз

Как сделать множественный фильтр с использованием ClientDataSet   Найти похожие ветки 

 
я   (2011-10-03 02:07) [0]


BaseAlphabet.ClientDataSet1.Filtered := false;
BaseAlphabet.ClientDataSet1.filter := ("Square = Square") and
   ("CentrMassX = xc") and ("CentrMassY = yc");
BaseAlphabet.ClientDataSet1.Filtered := true;


Так не работает. База файловая. Хранится в файлах *.сds;


 
icWasya ©   (2011-10-03 09:25) [1]

Разберись, где надо ставить кавычки. Фильтр это одна строка, внутри которой должно быть логическое выражение.


 
Ega23 ©   (2011-10-03 11:15) [2]

Square = Square
На душе стало немножечко тревожно


 
я   (2011-10-03 13:00) [3]

помогли бы материально ) че то никак не могу понять как расставить знаки препинания. по моим ощущениям Square это имя поля в таблице, а второй раз это имя переменной которой оно дожно быть равно....


 
Ega23 ©   (2011-10-03 13:04) [4]


> по моим ощущениям Square это имя поля в таблице, а второй
> раз это имя переменной


По моим ощущениям Square = Square - это True.
Не, я конечно могу ошибаться, но всё-таки по моим ощущениям - True.


 
я   (2011-10-03 21:08) [5]

"(Square = Square) and (CentrMassX = xc) and (CentrMassY = yc)";

тут он ругается что xc не есть поле ДатаСета, из чего можно заключить, что Square=Square- True. Но вопрос остается прежним, как задать множественный фильтр и чтобы он xc,yc и Square считал за переменные а не поля? вопрос на 3 секунды для тех кто в курсе.....


 
Ega23 ©   (2011-10-03 21:55) [6]


> считал за переменные а не поля? вопрос на 3 секунды для
> тех кто в курсе.....


Честно скажу: не в курсе, т.к. никогда не использовал, предпочитал фильтрацию на сервере запросом. Но по моим ощущениям в стандартных реализациях TDataSet задание переменных невозможно.
Т.е. должно быть что-то типа (Square = "xxx") and (CentrMassX = 18) and (CentrMassY = 34)


 
Игорь Шевченко ©   (2011-10-03 21:57) [7]

Use OnFilterRecord, Luke


 
я   (2011-10-04 01:29) [8]


> Честно скажу: не в курсе, т.к. никогда не использовал, предпочитал
> фильтрацию на сервере запросом. Но по моим ощущениям в стандартных
> реализациях 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-04 01:40) [9]


> кажется заработало.
>

Когда "кажется", креститься надо.
Вот ИШ тебе подсказал, что нужно использовать, если решать вопрос грамотно в рамках твоих знаний.



Страницы: 1 вся ветка

Текущий архив: 2012.01.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1317155348
Vladimir
2011-09-28 00:29
2012.01.08
Узнать какой из WebBrowser вызвал процедуру


15-1315398270
Empleado
2011-09-07 16:24
2012.01.08
Конец OLE DB


15-1312890604
БарЛог
2011-08-09 15:50
2012.01.08
Задача: стальной шар радиусом R падает в воду


2-1317637088
onyx2012
2011-10-03 14:18
2012.01.08
кастомная сортировка в ExpressQuantumGrid


2-1317566758
Reist
2011-10-02 18:45
2012.01.08
This form of method call only allowed for class methods