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:


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