A kérdésre adott válasz szám 31176
Adatszűrés |
A probléma a használata szűrés DBGridEh. Találtam egy hasonló kérdést a kereső, de a válasz nem található. Ezért közzé a kérdést.
Én dolgozom D7 FireBird 1.5 révén IBX. A HELP EhLib adott felvilágosítást a használatát STFilter. Megtettem mindent, ahogy van írva, azaz: beállítani az összes kapcsolódó szűrési tulajdonságokkal rendelkeznek, amint az például hozzáadott EhLibIBX a uses, de a szűrő nem működik. Próbáltam használni a helyi szerver és szűrés megfelelő változtatások SQL (ahol a / * * Filter / 1 = 1), próbáltam telepíteni IBQuery.Filtered: = True helyi szűrés. Az eredmény - semmi sem működik. És még csak nem is olyan menyaetsya IBQuery.SQL.Text nem IBQuery.Filter. A nagyon EhLib nincs panasz, mert demo megfelelően működik.
Ezzel kapcsolatban ezt a kérdést: Mit csinálok rosszul, vagy tud valaki megosztani egyértelmű sorrendje intézkedések: ami szükséges regisztrálni, és megállapítani, hogy mi a területen?
És egy további kérdés: lehetséges, hogy kezelni a szűrő nem lép, és a szűrőcsere húr?
Követ akármi válasz erre a kérdésre via RSS
Szűrése a nem Enter'u és adott esetben sor STFilter, előírja 1 alkalommal a következő sort
Tény, hogy DBGridEh szűrés Interbase adatbázis működik. Ön mindent jól: a modulban szereplő linket EhLibIBX, tedd STFilter.Visible tulajdonságot True. De valószínűleg nem nagyon szorosan olvassa el a GYIK (mindkettő ténylegesen és én). Úgy vélem, hogy nem szerzett szűrést, mert van. A feljegyzés azt mondja:
„Amikor a rács van beállítva, hogy kiszűrje a szerveren, egy egyedi objektum épít egy kifejezés javaslatok»hol«SQL-karakterlánc DataSet. Megpróbálja megtalálni egy sort a kulcsszó „kifejezés / * Szűrés * /” (Meg lehet változtatni ezt a kulcsot kifejezést használni egy globális változó SQLFilterMarker) az SQL-kifejezés és hozzáteszi, egy kifejezés, hogy kiszűrje, miután a kulcsot az ugyanabban a sorban. Tehát, az SQL-lekérdezés tartalmaznia kell egy sort, hogy kezdődik a „/ * Szűrés * /”. Például:
„SELECT *
származó tábla1
ahol
/ * Szűrés * / 1 = 1 ''
Ez azt jelenti, meg kell érteni, a szó szoros értelmében. Találni egy speciális objektum a sor, hogy kezdődik a kulcs kifejezést „/ * Szűrés * /”, ezt a sort kell kezdeni csak a / * * Filter / 1 = 1 „, tehát nem kell vezető terek. A következőket írtam:
......
ahol
/ * Szűrés * / 1 = 1.
És persze a sor még nem ismerték fel. Mi látható az eljárás azáltal töréspont ApplyFilterSQLBasedDataSet (DBUtilsEh modul) idején leszűrjük. A munka, azt mondták, hogy ez nem kényelmes, hogy folyamatosan figyelje a hiányzó terek egy lekérdezést és kérte, hogy korrigálja ezt a hibát. Átírtam egy kicsit EhLib-ovsky eljárás ApplyFilterSQLBasedDataSet és most húr szükségességét jelző szűrés indulhat bármennyi probolae :-)))). Itt egy példa kód.
Saját változata annak az eljárásnak:
szűrés kell írni EhLibIBX nyoma sem, hogy ha közvetlenül csatlakozik fog működni :)
A csomag EhLib DataService mappa
Felírni modul EhLibIBX modul, ahol EhGrid, rendezés több oszlop jelenik meg, ha On DBGridEh.SortLocal: = Igaz, de a szűrőt meg kell bütykölni kell először beállítjuk DBGridEh.STFilter.Visible: = True;
DBGridEh.STFilter.Local: = true;
majd egy kis csípés modul EhLibIBX, szűrés úgy működik, ahogy azt szeretnénk,
Azt is meg kell csípés DBUtilsEh.
PS:
Van egy példa a modul EhLibCDS szabályok EhLibFIB, és mint minden rabotet
Oldal kiválasztott kérdésekben a Kerekasztal.