Obsah fóra www.proxima-soft.sk www.proxima-soft.sk
Px Framework - ASP.NET komponenty pre rýchly vývoj databázových aplikácii
 
 FAQFAQ   HľadaťHľadať   Zoznam užívateľovZoznam užívateľov   Užívateľské skupinyUžívateľské skupiny   RegistráciaRegistrácia 
 NastaveniaNastavenia   Súkromné správySúkromné správy   PrihláseniePrihlásenie 

Ako vytvorit vztah/reláciu Master-Detail?

 
Pridať novú tému   Zaslať odpoveď    Obsah fóra www.proxima-soft.sk -> PxWebQuery - komponenta na načítanie dát z databázy
Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
Juraj



Založený: 26 január 2011
Príspevky: 17
Bydlisko: Brezno

PríspevokZaslal: Po február 28, 2011 4:33 pm    Predmet: Ako vytvorit vztah/reláciu Master-Detail? Odpovedať s citátom

Ako vytvoriť medzi dvoma tabuľkami vzťah/reláciu Master-Detail?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
admin
Site Admin


Založený: 17 jún 2010
Príspevky: 54
Bydlisko: ŠKODA Peter, PODBREZOVÁ

PríspevokZaslal: Po február 28, 2011 4:44 pm    Predmet: Ako vytvorit vztah/reláciu Master-Detail? Odpovedať s citátom

Komponenta PxWebQuery po zmene pozície kurzora, generuje udalosť(event) s názvom AfterScroll. Na túto udalosť môžeme pripojiť procedúru v ktorej sa nám bude vykonávať znovu načítanie podriadenej tabuľky. V praxi to bude vyzerať nasledovne. Najprv si zadefinujeme prvotne otvorenie obidvoch tabuliek v metóde Page_Load a ich napojenie na komponenty PxSuperGrid. Viac príklad dole:

kód:
protected void Page_Load(object sender, EventArgs e)
    {
       
        if (wquKateg_Zaner.Active == false)
        {
            wquKateg_Zaner.ConnectString = AppConst.ConnectString;
            wquKateg_Zaner.SQLSelect = "select IDKateg_Zaner, Name from Kateg_Zaner order by IDKateg_Zaner";

            wquKateg_Zaner.Open();

        }
        else
        {
            wquKateg_Zaner.AfterScroll += new AfterScrollEventHandler(wquKateg_Zaner_AfterScroll);
        }

        if (wquZaner.Active == false)
        {
            wquZaner.ConnectString = AppConst.ConnectString;
            wquZaner.SQLSelect = "select IdZaner, Name, IDKateg_Zaner from Zaner where IDKateg_Zaner=" +
            wquKateg_Zaner.Fields["IDKateg_Zaner"].ToString();
            //wquZaner.AddParamKey("IDKateg_Zaner", "aKey", "aValue", "aValue", "aKey", sSQLTextCis);
            wquZaner.AddParamWebQuery("IDKateg_Zaner", "IDKateg_Zaner", "Name", "Name", "IDKateg_Zaner",
            "wquKateg_Zaner");

            wquZaner.Open();

           
        }
       

        grdKateg_Zaner.VisibleFields = "IDKateg_Zaner;Name:100";
        grdKateg_Zaner.PxDataSource = wquKateg_Zaner;
       
        grdKateg_Zaner.DataBind();

        navKateg_Zaner.PxDataSource = wquKateg_Zaner;
        navKateg_Zaner.PxVisibleButtons = "FRNL";


        grdZaner.VisibleFields = "IdZaner; Name:100;IDKateg_Zaner";
        grdZaner.PxDataSource = wquZaner;
       
        grdZaner.DataBind();

        navZaner.PxDataSource = wquZaner;
        navZaner.PxVisibleButtons = "FRNL";


    }


Ako je vidieť, na hore uvedenom príklade, tak sme si pri definícii tabuľky kategória-žáner zadefinovali aj udalosť AfterScroll, viac príklad dole:

kód:
wquKateg_Zaner.AfterScroll += new AfterScrollEventHandler(wquKateg_Zaner_AfterScroll);


Táto udalosť, pri každej zmene kurzora tabuľky kategória-žáner nám zavolá procedúru wquKateg_Zaner_AfterScroll.
V procedúre sa nám vytvorí nový SQL príkaz pre tabuľku žáner, ktorej obsah je znovu načítaní cez procedúru ReOpen(). Procedúra ReOpen nám vlastne urobí refresh tabuľky na základe zmeneného SQL príkazu. Viac príklad dole:

kód:
void wquKateg_Zaner_AfterScroll(object sender, EventArgs e)
{
        string SQLSelect1 = "select IdZaner, Name, IDKateg_Zaner from Zaner where IDKateg_Zaner=" + 
                                            wquKateg_Zaner.Fields["IDKateg_Zaner"].ToString();
        if (wquZaner.SQLSelect != SQLSelect1)
        {
            wquZaner.SQLSelect = SQLSelect1;
            wquZaner.ReOpen();
        }
        grdZaner.VisibleFields = "IdZaner; Name:100;IDKateg_Zaner";
        grdZaner.PxDataSource = wquZaner;
        //grdZaner.AllowSorting = true;
        grdZaner.DataBind();

        navZaner.PxDataSource = wquZaner;
        navZaner.PxVisibleButtons = "FRNL";
}


Konkrétny príklad aplikácie so vzťahom master-detail môžete najsť na url adrese: http://www.proxima-soft.sk/examples/510_CD_Titul_Px_Fram_Ajax/ZanerKatMasterDet.aspx
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Odoslať e-mail Zobraziť autorové WWW stránky
Zobraziť príspevky z predchádzajúcich:   
Pridať novú tému   Zaslať odpoveď    Obsah fóra www.proxima-soft.sk -> PxWebQuery - komponenta na načítanie dát z databázy Časy uvádzané v GMT + 1 hodina
Strana 1 z 1

 
Prejdi na:  
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.


Powered by phpBB © 2001, 2005 phpBB Group
phpBB podpora - Slovenský preklad - www.pcforum.sk