Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Установка фильтра в TDStringGrid 


phantom2040   (2001-12-04 13:27) [0]

Люди помогите пожалуйста!
Проблема с синтаксисом, нужно установить фильтр в TDStringGrid, из поля TEedit1, но не один фильтр а несколько то есть я хочу установит несколько фильтров, значит следующий пример работает:
DataModule.DataSource.DataSet.Filter:="name="+QuotedStr(Edit1.Text+"*");
но установка 2 фильтров типа
DataModule.DataSource.DataSet.Filter:="name="+QuotedStr(Edit1.Text+"*")and "io="+QuotedStr(Edit2.Text+"*");
почему-то не прокатывает, хотя когда пишу непосредственнов свойстве Filter все работает, информация по справкам довольно скудная, и сам я не смого разобраться с синтаксисом, помогите??



Slava   (2001-12-04 13:43) [1]

Св-во Filter имеет тип String.
У тебя то, что справа от ":=" имеет тип String?



Igorok   (2001-12-04 15:05) [2]

попробуй так, проще и наглядней чем строки суммировать....

DataSource1.DataSet.Filter := Format("(name Like %s) and (io Like %s)",[QuotedStr(Edit1.Text+"*"),QuotedStr(Edit2.Text+"*")]);



Котелок   (2001-12-05 01:00) [3]

DataModule.DataSource.DataSet.Filter:="name="+QuotedStr(Edit1.Text+"*")+" and "+"io="+QuotedStr(Edit2.Text+"*");

and Тоже в фильтр входит его надо добавлять к строке;



EsKor   (2001-12-06 03:14) [4]

Замечание от "Котелка" совершенно справедливо, поскольку Filter имеет текстовый (строковый) тип, т.е. формат должен быть такой:
Filter:="условие";. "условие" м.б. "каким угодно" сложным.
Дополнительные "грабли" существуют при задании фильтра следующего вида:
X = "техт". В этом случае необходимо формировать строку в строке, типа
Filter := "X=""" + ComboBox.Text + """".
Кроме того, если используете операторы типа AND, OR и т.п., заключайте выражения до и после них в скобки. Не знаю как в Фильтре, а согласно синтаксису языка Object Pascal эти операторы имеют достаточно высокий приоритет, т.е. запись x = a AND b, будет обрабатываться как x = (a AND b),
а x > a AND x < b, может предстать в виде x > (a AND b) < b с соответствующими последствиями.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.053 c
6-22271           Victor                2001-10-04 20:15  2002.01.08  
при конекте не появлялось удаленное соединение????


1-22141           N                     2001-12-20 10:04  2002.01.08  
C -> Pascal: указатель на функцию внутри структуры


4-22468           Zabl                  2001-11-02 11:56  2002.01.08  
Утечка памяти


4-22471           bsFrame               2001-11-02 11:42  2002.01.08  
Компонет


14-22345          petr_v_a              2001-11-05 20:13  2002.01.08  
В защиту Ланы Розановой &Co!!!