Články o Px Frameworku:
PxComboBox - komponenta, ktorá slúži na výber dát zo zoznamu, obdoba komponenty DropDownList
Komponenta PxComboBox pracuje obdobne, alebo ma podobné property, ako komponenta PxEdit.
Preto nemá zmysel sa nimi podrobne zaoberať, môžete si prečítať kapitolu predchádzajúcu o
komponente PxEdit. Veci, ktoré boli podrobne popísané pri komponente PxEdit, budú tuná
prejdené len telegraficky, zbežne.
Pomocou komponenty PxComboBox môžeme automaticky editovať stĺpec riadka tabuľky,
ktorý je natiahnutý v komponente PxWebQuery. Vytvoríme si súbor AddAdresar.aspx,
a do neho zapíšeme nasledujúcu definíciu komponenty PxComboBox:
Súbor AddAdresar.aspx:
<Prx:PxComboBox ID="cmbPravnaForma" runat="server" AddTableRow="True"></Prx:PxComboBox>
V súbore AddAdresar.aspx.cs, si zase zadefinujeme prepojenie komponenty
PxComboBox s komponentou PxWebQuery, a jej prepojenie na konkrétny stĺpec tabuľky.
Súbor AddAdresar.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
cmbPravnaForma.PxDataSource = wquAdresar;
cmbPravnaForma.FieldName = "idpravnaforma";
}
Komponenta PxComboBox podporuje automatické načítanie zoznamu do svojho tela, a
automatické uloženie vybranej hodnoty do databázy, pri vykonaní príkazu Post() na komponente
PxWebQuery. Na to aby došlo ku automatickému načítaniu dát do zoznamu komponenty
PxComboBox, musíme na komponentu PxWebQuery, na ktorú je napojená naša komponenta
PxComboBox, uvaliť parameter AddParamKey, poprípade parameter AddParamWebQuery.
AddParamKey slúži na prepojenie tabuľky z číselníkom. Metóda AddParamKey je metódou
komponenty PxWebQuery. Filozofia Px Frameworku je taká, aby čo najviac informácii bolo
definovaných na komponente PxWebQuery. Týmto sa vlastne šetrí programovanie a zápis pri
komponentách PxSuperGrid, PxEdit, PxComboBox a pod. Všetky tieto komponenty si požičiavajú
dáta a nastavenie z komponenty PxWebQuery. Preto na komponente PxWebQuery máme množstvo
procedúr a metód, prostredníctvom ktorých definujeme rôzne zobrazenie a prepojenie medzi
tabuľkami.
Taká najjednoduchšia metóda prostredníctvom, ktorej sa definuje prepojenie medzi hlavnou
tabuľkou a číselníkom je metóda
AddParamKey.
Tuto definíciu môžeme zapísať do súboru
Adresar.aspx.cs.
protected void Page_Load(object sender, EventArgs e)
{
if ((!IsPostBack)&&(wquAdresar.Active==false))
{
string sSQLText1 = "select IDPravForm as Key, Name as Value from PravForm Order By Value";
wquAdresar.ConnectString = "User Id=skodapeter;Password=aa;Data Source=xe;";
wquAdresar.SQLSelect = "select idadresar,name,address,idpravnaforma,create_date from Adresar";
wquAdresar.AddParamKey("idpravnaforma", "Key", "Value", "Value", "Key", sSQLText1);
wquAdresar.Open();
wquAdresar.Columns["idadresar"].Caption = "ID";
wquAdresar.Columns["name"].Caption = "Meno Osoby";
wquAdresar.Columns["idpravnaforma"].Caption = "Právna Forma";
wquAdresar.Columns["address"].Caption = "Adresa";
wquAdresar.Columns["create_date"].Caption = "Dátum založenia";
}
else
{
}
grdAdresar.PxDataSource = wquAdresar;
grdAdresar.DataBind();
}
Popis Parametrov metódy AddParamKey:
C# syntax:
public void AddParamKey(string aFieldName, string aFieldNameKey,
string aFieldNameValue, string aFieldToView,
string aFieldToDB, string aSQLText);
Popis parametrov:
aFieldName - Meno stĺpca v tabuľke na ktorý sa aplikuje metóda AddParamKey
aFieldNameKey - Meno stĺpca číselníka, ktorý reprezentuje kľuč číselníka (toto meno stĺpca sa dá zistiť z Sql
príkazu, ktorý sa zadáva do parametra aSQLText)
aFieldNameValue - Meno stĺpca číselníka, ktorý reprezentuje hodnotu(Value) číselníka (toto meno stĺpca sa
dá zistiť z Sql príkazu, ktorý sa zadáva do parametra aSQLText)
aFieldToView - tu sa zadáva meno stĺpca, ktorého hodnota sa bude zobrazovať v Gride(PxSuperGrid)
aFieldToDB - tu sa zadáva meno stĺpca, ktorého hodnota bude zapísaná do databázy
aSQLText - tu sa zadefinuje SQL príkaz pre načítanie číselníka, jednotlivé stĺpce je vhodne označiť ako Key a
Value, kvôli lepšej prehľadnosti
Po uvalení parametra AddParamKey na komponentu PxWebQuery, a napojení komponenty
PxComboBox, si táto komponenta pri načítaní automaticky natiahne dáta, a pri ukladaní sa
automaticky uloží zvolená hodnota do databázy.
Na zarovnanie komponenty sa opäť používajú property AddTableRow, TableBegin a TableEnd,
ktoré sú dobre popísané a rozobrané v časti kde je popísaná komponenta PxEdit.
Názov popiskov Caption, alebo názvy stĺpcov v gride(Title) môžete zadať centrálne, pri definícii
komponenty PxWebQuery, kde hodnota v hranatých zátvorkách je názov stĺpca:
wquAdresar.Columns["NAME"].Caption = "Priezvisko a Meno";
Zmena popisku komponenty PxComboBox (Label):
Zmenu popisku komponenty PxComboBox, okrem centrálnej definície, môžeme vykonať
nasledujúcim spôsobom:
cmbPravnaForma.Caption = "Právna forma 2";
Filtrovať obsah komponenty PxComboBox, môžeme iba keď je na komponentu PxWebQuery a daný stĺpec uvalený len parameter AddParamWebQuery, a nie parameter AddParamKey.
Komponenta PxComboBox má property "Filter" do ktorej, môžeme zadať výsledný výraz, pomocou ktorého budeme filtrovať obsah komponenty PxComboBox. Vo výraze používame názvy stĺpcov, ktoré existujú v číselníku komponenty PxWebQuery, ktorý je pripojený k hlavnej tabuľke cez parameter AddParamWebQuery.
Viac príklad dole:
protected void rblZbierka_SelectedIndexChanged(object sender, EventArgs e)
{
string sStr = rblZaner.SelectedValue;
cmbKategoriaZaner.Filter = "Zaner='" + sStr + "' and KategoriaZaner<>''";
cmbKategoriaZaner.Refresh();
}
Tu nájdete funkčný príklad s komponentou PxComboBox, 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