en_lang.jpg, 1 kB sk_lang.jpg, 1 kB
English Slovak

      Px Framework - ASP.NET komponenty pre rýchly vývoj databázových aplikácií


Menu:



Články o Px Frameworku:


PxCheckBoxList - komponenta pre zobrazenie a výber hodnôt zo zoznamu



Komponenta PxCheckBoxList má mnoho podobných property, ako komponenta PxEdit. Preto nemá zmysel sa nimi podrobne zaoberať, môžete si prečítať kapitolu o komponente PxEdit. Veci, ktoré boli podrobne popísané pri komponente PxEdit, budú tuná prejdené len telegraficky, zbežne.

Pomocou komponenty PxCheckBoxList 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 PxCheckBoxList:

Súbor AddAdresar.aspx:

  <Prx:PxCheckBoxList ID="chlOrgan" runat="server" AddTableRow="True" />


V súbore AddAdresar.aspx.cs, si zase zadefinujeme prepojenie komponenty PxCheckBoxListu 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)
{
   chlOrgan.PxDataSource = wquAdresar;
   chlOrgan.FieldName = "Z_REZORTNYORGAN";
}


Komponenta PxCheckBoxList podporuje automatické načítanie hodnoty z komponenty PxWebQuery, a automatické uloženie zvolenej hodnoty do databázy, pri vykonaní príkazu Post() na komponente PxWebQuery. Tým že komponenta PxCheckBoxList umožňuje, vyberať jednotlivé položky zo zoznamu, je možne zadať na komponente PxWebQuery, ako tieto stavy budú zobrazované a zapísané do databázy. Na definíciu sa používa parameter s názvom metódy AddParamCheckList. Metóda AddParamCheckList je metódou komponenty PxWebQuery.

Popis Parametrov metódy AddParamCheckList:
C# syntax:

public void AddParamCheckList(string aFieldName, string aFieldNameKey, string aFieldNameValue, string aFieldToView, string aFieldToDB, string aPxWebQueryName)

public void AddParamCheckList(string aFieldName, string aFieldNameKey, string aFieldNameValue, string aPxWebQueryName)


Popis parametrov:

aFieldName - Meno stĺpca v tabuľke na ktorý sa aplikuje metóda AddParamCheckList. V databáze je najlepšie priradiť tomuto stĺpcu veľkosť varchar(500)
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 komponenty PxWebQuery v ktorej je načítaný číselník)
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 komponenty PxWebQuery v ktorej je načítaný číselník)
aFieldToView - tu sa zadáva meno stĺpca, ktorého hodnota sa bude zobrazovať v Gride(PxSuperGrid), pri výbere viacerých položiek, sa tieto položky pri zobrazený v komponente Memo(TextBox), budú zobrazovať oddelené čiarkou
aFieldToDB - tu sa zadáva meno stĺpca, ktorého hodnota bude zapísaná do databázy, pri výbere viacerých položiek, sa tieto položky zapíšu jedna za druhou a budú oddelené čiarkou
aPxWebQueryName - Názov komponenty PxWebQuery v ktorej je cez SQL príkaz načítaný číselník, jednotlivé stĺpce je vhodne označiť ako Key a Value, kvôli lepšej prehľadnosti

Príklad zadania v súbore AddAdresar.aspx.cs v metóde Page_Load:

wquAkcia.AddParamCheckList("Z_REZORTNYORGAN", "IDREZORTNYORGAN", "NAZOVREZORTNYORGAN", "wquRezortOrg");


Po uvalení parametra AddParamCheckList na komponentu PxWebQuery, a napojení komponenty PxCheckBoxList, si táto komponenta pri načítaní automaticky natiahne dáta, a pri ukladaní sa automaticky uloží zvolená hodnota do databázy.

Obrázok komponenty PxCheckBoxList


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 popiskóv 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["REZORTNYORGAN"].Caption = "Rezortný orgán";


Zmena popisku komponenty PxCheckBoxList (Label):
Zmenu popisku komponenty PxCheckBoxList, okrem centrálnej definície, môžeme vykonať nasledujúcim spôsobom:

chlOrgan.Caption = "Rezortný orgán 2";


Komponenta PxCheckBoxList má property s nazvom OnlyCheckBoxList, ktorá umožňuje zobrazovať komponentu PxCheckBoxList dvoma spôsobmi, pokiaľ nie je v stave editácie. Pokiaľ je do property OnlyCheckBoxList zadaná hodnota True, potom je komponenta zobrazovaná ako CheckBoxList, podobne ako v stave editácie. Pokiaľ je do property OnlyCheckBoxList zadaná hodnota False, potom je komponenta zobrazovaná ako Memo(TextBox), a jednotlivé zvolené hodnoty sú zapísané za sebou a sú oddelené čiarkou. Viac obrázok dole.

Obrázok komponenty PxCheckBoxList v stave OnlyCheckBoxList


chlOrgan.OnlyCheckBoxList = false;


Cez property SeparatorSumText komponenty PxCheckBoxList, môžeme ovládať zobrazenie oddeľovača hodnôt pri zobrazení v komponente Memo(TextBox), a pri zapísaný do databázy. Defaultna hodnota je čiarka ",", poprípade môžete zadať bodkočiarku ";".

chlOrgan.SeparatorSumText = ",";


Komponenta PxCheckBoxList umožňuje ďalej filtrovanie zobrazeného obsahu číselníka cez property Filter. V property Filter sa používajú názvy stĺpcov(fieldov), číselníka komponenty PxWebQuery.

chlOrgan.Filter = "Aktualny_Stav=1";


Po zadaní tohto príkazu sa nám v komponente PxCheckBoxList, zobrazia len tie položky, ktoré majú v stĺpci číselníka komponenty PxWebQuery s názvom "Aktualny_Stav" zadanú hodnotu "1".





Ďalšie články o 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