En   Sk  
 
 
 
 
 
 
 
 

Články o Px Frameworku:


PxCheckBox - komponenta, ktorá slúži na zaškrtnutie (select / unselect) hodnoty



Komponenta PxCheckBox pracuje obdobne, alebo ma podobné 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 PxCheckBox 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:PxCheckBox ID="chkInvalid_Adress" runat="server" AddTableRow="True"></Prx:PxCheckBox>

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

Komponenta PxCheckBox podporuje automatické načítanie hodnoty z komponenty PxWebQuery, a automatické uloženie zadanej hodnoty do databázy, pri vykonaní príkazu Post() na komponente PxWebQuery. Tým že komponenta PxCheckBox umožňuje, vybrať len dva stavy, a to True, alebo False, 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 AddParamCheck. Metóda AddParamCheck je metódou komponenty PxWebQuery.

Popis Parametrov metódy AddParamCheck:

C# syntax:

public void AddParamCheck(string aFieldName,
        string aCheckedValue, string aUnCheckedValue,
        bool aEditReadOnly)

Popis parametrov:

aFieldName - Meno stĺpca v tabuľke na ktorý sa aplikuje metóda AddParamCheck
aCheckedValue - Hodnota reťazca, ktorou sa nahradí hodnota True, pri výbere v komponente PxCheckBox
aUnCheckedValue - Hodnota reťazca, ktorou sa nahradí hodnota False, pri výbere v komponente PxCheckBox
aEditReadOnly - Keď bude Grid v stave edit, pri zadanej hodnote True bude povolená editácia

Po uvalení parametra AddParamCheck na komponentu PxWebQuery, a napojení komponenty PxCheckBox, si táto komponenta pri načítaní automaticky vie interpretovať načítané dáta z databázy, a pri ukladaní sa automaticky uloží zadefinovaná hodnota reťazca do databázy.

V našom príklade, bude definícia parametra AddParamCheck vyzerať nasledovne:

wquAdresar.AddParamCheck("invalid_adress", "A", "N", false);

Tuto definíciu potom môžeme zapísať do súboru Adresar.aspx.cs, a bude vyzerať nasledovne:

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,invalid_adress
                            from Adresar02";
    wquAdresar.AddParamKey("idpravnaforma", "Key", "Value", "Value", "Key", sSQLText1);
    wquAdresar.AddParamCheck("invalid_adress", "A", "N", false);
    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";
    wquAdresar.Columns["invalid_adress"].Caption = "Adresa neplatná";
  }
  else
  {
  }
  grdAdresar.PxDataSource = wquAdresar;
  grdAdresar.DataBind();
}

Po zapísaný, respektíve uvalení parametra AddParamCheck na komponentu PxWebQuery, sa nám v komponente PxSuperGride budú zobrazovať hodnoty, namiesto hodnoty True to bude hodnota "A" a namiesto hodnoty False to bude hodnota "N". Podobne bude vykonaný aj zápis do databázy.

Viac obrázok dole:

Obrázok formulára gridu - AddParamCheck


Vo formuláry AddAdresar.aspx to bude vyzerať nasledovne:

Obrázok formulára PxCheckBox - AddParamCheck


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["invalid_adress"].Caption = "Adresa neplatná";

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

chkInvalid_Adress.Text = "Adresa neplatná 2";



Tu nájdete funkčný príklad s komponentou PxCheckBox, aj so zdrojovými kódmi. Tento funkčný príklad na tomto webe, beží pod databázou MySQL 5.0.


P.č. Názov príkladu Zdrojové Kódy SQL Script
1.6. Adresar.aspx
Adresar.aspx.cs
AddAdresar.aspx
AddAdresar.aspx.cs
SQLScript_MySQL.5.1
SQLScript_MySQL.5.0



Ď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


 
  PxWebQuery
  PxSuperGrid
  PxEdit
  PxComboBox
  PxCheckBox
  PxJSDatePicker
  PxDbNavigator
  PxLabel
  PxFlyComboBox
  PxGreatRepeater
  PxChart
  PxUploader
  PxFilterView
  PxDbPopUp
  PxCheckBoxList
  PxRadioButtonList
  PxLogin
  PxSpeedButton
 
 
  AddParamKey()
  AddParamWebQuery()
  AddParamCheck()
  AddParamCheckList()
  AddParamRadioList()
  AddParamValidation()
  AddParamFlyCombo...
  AddParamGreatWeb...
 
 
  AddParamFilter()