Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.005 c
2-1317290569
я
2011-09-29 14:02
2012.01.08
ClientDataSet как записать произвольный массив в базу данных (cds


15-1316692399
Очень Злой
2011-09-22 15:53
2012.01.08
помогите найти заразу


2-1317631902
alexdn
2011-10-03 12:51
2012.01.08
Разложить строку посимвольно


2-1317272307
Gu
2011-09-29 08:58
2012.01.08
передний план


15-1316162516
И. Павел
2011-09-16 12:41
2012.01.08
Переезд в Санкт-Петербург




   Наверх