Články o Px Frameworku:
PxFilterView - vizuálna komponenta pre filtrovanie obsahu dát tabuľky v komponente PxWebQuery
S pomocou komponenty PxFilterView môžeme filtrovať obsah dát tabuľky v komponente PxWebQuery.
V súbore *.aspx sa komponenta PxFilterView definuje nasledovne:
<Prx:PxFilterView ID="filterSposOsoba" runat="server" />
Do komponenty PxFilterView zadávame parametre, výberové kritéria cez metódu AddParamFilter.
Podľa týchto parametrov sa nám dynamicky zostavuje komponenta PxFilterView. Viac obrázok dolu:
Do takto vykreslenej komponenty PxFilterView, zadávame výberové kritéria,
z ktorých sa nám zostaví výsledný SQLScript, ktorý je potom priradený
do komponenty PxWebQuery.
Na to aby sa nám vykreslil nasledujúci PxFilterView, v takejto podobe ako je
na obrázku musíme zadať nasledujúce parametre:
filterSposOsoba.AddParamFilter("IDTypOsoba", "<b>Typ Osoby:</b>");
filterSposOsoba.AddParamFilter("Miesto", "<b>Kraj:</b>", "Kraj1");
filterSposOsoba.AddParamFilter("Miesto", "<b>Okres:</b>", "Okres1");
filterSposOsoba.AddParamFilter("Miesto", "<b>Obec:</b>", "Obec1");
filterSposOsoba.AddParamFilter("Specializacia", "<b>Špecializácia:</b>", "SPECIALIZATION1");
filterSposOsoba.AddParamFilter("FIRST_NAME;LAST_NAME", "<b>Hľadať reťazec:</b>");
filterSposOsoba.OrigSQLSelect = "select * from SposOsoba";
Definícia metódy AddParamFilter:
public void AddParamFilter(string aFieldName, string aCaption)
public void AddParamFilter(string aFieldName, string aCaption, string aParentFieldName)
public void AddParamFilter(string aFieldName, string aCaption, string aParentFieldName,
string aChooseValueText)
Popis parametrov:
aFieldName - Meno stĺpca tabuľky komponenty PxWebQuery, podľa ktorého chceme filtrovať obsah dát tabuľky komponenty PxWebQuery
aCaption - Popisok, titulok riadkuv komponente PxFilterView
aParentFieldName - tento stĺpec sa vypĺňa len vtedy, keď na stĺpec definovaný v parametry aFieldName bol uvaleny parameter AddParamFlyComboBox alebo AddParamGreatWebQuery. Treba si uvedomiť že pokiaľ sú na nejaky aFieldName uvalené nasledovné parametre AddParamFlyComboBox alebo AddParamGreatWebQuery, tak tento field, stĺpec je zlučovaci, t.j. môže sa pod ním ukrývať mnoho fieldov. Takýto field môžeme nazvať ako child, a stĺpce ktoré zlučuje, ako Parent. Do parametra aParentFieldName zadáme konkrétne meno parent fieldu, podľa ktorého chceme filtrovať obsah dát tabuľky PxWebQuery
aChooseValueText - do tohto parametra zadávame text, ktorý sa nám bude zobrazovať v komponente PxFilterView, u konkretneho riadku zobrazenia, pokiaľ vyber bude vykonávaný v zozname(ComboBox). Tento text nám nahradí text "Zvoľte hodnotu". Viac obrázok hore.
Komponenta PxFilterView pracuje tak, že pri výbere zo zoznamu alebo zadaný nejakého textu a potvrdený klávesou Enter, sama generuje SQL príkaz. Vzhľadom na to že je pripojená ku konkrétnej komponente PxWebQuery, pri každej zmene je tento nový SQL príkaz priradený do komponenty PxWebQuery a je vykonaný ReOpen komponenty PxWebQuery. Takto pri zmene výberových kritérií komponenty PxFilterView, sa aj zmení obsah dát tabuľky PxWebQuery.
Ak by s me mali stĺpce v komponente PxWebQuery, na ktoré nie uvalený žiaden parameter (AddParamKey, AddParamWebQuery a pod.) a sú tieto stĺpce typu string, môžeme pri zadávaný parametra tieto stĺpce zlúčiť a oddeliť ich bodkočiarkou. Pri vyhľadávaný sa vložený výraz vyhľadáva v obidvoch týchto zadaných stĺpcoch. Viac príklad dole:
filterSposOsoba.AddParamFilter("FIRST_NAME;LAST_NAME", "<b>Hľadať reťazec:</b>");
Potom keď do filtra PxFilterView, do riadku s popiskom "Hľadať reťazec", zadáme nejaké slovo, toto slovo bude vyhľadávané v obidvoch stĺpcoch, a tak bude vyfiltrovaná konečná podoba tabuľky.
Je zaujímavé podľa akých kritérií zostavuje komponenta PxFilterView svoju editačnú časť ? Pre stĺpce, na ktoré nebol uvalený žiadny parameter, sa v editačnej časti zjaví komponenta TextBox, do ktorej sa zadáva text, ako výberové kritérium. V prípade že na daný stĺpec bol uvalený parameter AddParamKey, AddParamWebQuery a pod. je komponenta TextBox nahradená komponentou DropDownList, aj s naplneným listom, obsahom tejto komponenty. Komponenta PxFilterView dokáže čítať obsah tabuliek a ich vzájomného prepojenie(jednotlivé parametre), a na základe toho zkompiluje výsledný panel komponenty PxFilterView.
Len na nás zaleží či dokážeme správne vyplniť všetky premenné ktoré sa zadávajú cez metódu AddParamFilter. Použitie komponenty PxFilterView môžete nájsť v príklade s názvom
510_CD_Titul_Px_Fram_Ajax, v každom inštalačnom balíčku Px Frameworku aj s príkladmi.
Tu nájdete funkčný príklad s komponentou PxFilterView, aj so zdrojovými kódmi.
Tento funkčný príklad na tomto webe, beží pod databázou MySQL 5.0.
Ďalšie články o Px Frameworku:
- PxWebQuery - komponenta pre prácu s databázou Oracle, MS SQL, MySQL, FireBird, Interbase
- PxSuperGrid - komponenta pre priame zobrazenie dát v tabuľke
- PxEdit - komponenta, ktorá slúži na editáciu dát, obdoba komponenty TextBox
- PxComboBox - komponenta, ktorá slúži na výber dát zo zoznamu, obdoba komponenty DropDownList
- PxCheckBox - komponenta, ktorá slúži na zaškrtnutie (select / unselect) hodnoty
- PxDbNavigator - komponenta pre prácu z komponentov PxWebQuery, posúvanie kurzora riadku a pod.
- PxJSDatePicker - komponenta pre zadanie dátumu, postavená na JavaScripte
- PxFlyComboBox - séria comboboxov, zapojených za sebou, vhodný pre prácu zo štruktúrovanými dátami (napr. výber kategórii a podkategórii)
- PxGreatRepeater - komponenta pre zadávanie dát, ktoré sa svojou štruktúrou opakujú, maximálny počet hodnôt je limitovaný
- PxChart - komponenta pre zobrazenie a prácu s grafmi
- PxFilterView - vizuálna komponenta pre filtrovanie obsahu dát tabuľky v komponente PxWebQuery
- PxUploader - komponenta na nahrávanie binárnych a textových súborov na server
- PxDbPopUp - komponenta pre načítanie dát z komponenty PxWebQuery a ich zobrazenie a výber v prehľadnej tabuľke
- PxCheckBoxList - komponenta pre zobrazenie a výber hodnôt zo zoznamu
- PxRadioButtonList - komponenta pre zobrazenie a výber hodnoty zo zoznamu
- PxLogin - komponenta pre autorizáciu a prihlásenie sa do aplikácie
- PxSpeedButton - varianta tlačítka s obrázkom a textom
- Načítanie dát z databázy Oracle, MS SQL, MySQL, FireBird, Interbase pomocou komponenty PxWebQuery
- Programové vkladanie nového riadku do databázy pomocou komponenty PxWebQuery
- Načítanie hodnôt z komponenty PxWebQuery cez cyklus while
- Vyhľadávanie riadku v komponente PxWebQuery, podľa zadanej hodnoty a názvu stĺpca v ktorom sa má vyhľadávať
- Procedúra ReOpen komponenty PxWebQuery a znovu načítanie dát do komponenty PxWebQuery
- Udalosti (Eventy) komponenty PxWebQuery
- Vytvorenie nového dynamického stĺpca(field) v tabuľke komponenty PxWebQuery
- Validácia, kontrola zadaných hodnôt prostredníctvom komponenty PxWebQuery a ostatných vizuálnych komponent(PxEdit, PxComboBox a atď.)
- Nastavenie jazykovej mutácie Px Frameworku
- Zistenie aktuálnej verzie Px Frameworku
Nie je zmyslom, tejto časti webu dopodrobna popisovať prácu s komponentami PxFrameworku, podrobný popis komponent
najdete v manuali, ktorý si môľete stiahnuť tu:
Download manual pre Px Framework