HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Adattábla rekordjainak megjelenítése csoportonként


Példaprogram letöltése

8307 bájt

Amikor egy select lekérdezésünk túl sok rekordot ad vissza, akkor sok esetben célszerű, ha a felhasználó számára mondjuk csak az első tizet mutatjuk meg és lehetőséget biztosítunk számára, hogy elérhesse a következő tíz rekordot, majd az az utáni tizet és így tovább. Mellékelt példában ezt valósítjuk meg, oly módon, hogy a felhasználó előrefelé és visszafelé is lépkedhet az adattáblában.

A példához az MS SQL Northwind példa adatbázisát használjuk fel. A kapcsolatot a szokásos SQLConnection osztállyal hozzuk létre, majd az SQLDataSetCommand osztályt felhasználva egy select-et futtatunk a Customers táblára, mely válogatás nélkül az összes rekordot és összes mezőt visszaadja.
da = new SqlDataAdapter("select * from customers", connection);
Az eredményt egy DataGrid-ben jelenítjük meg. Ehhez a megjelenítéshez készítünk egy belső függvényt, Dump névvel. A megjelenítendő rekordok számát is itt tudjuk befolyásolni.
      protected void Dump()
      {
        ds.Clear();       
Amikor az SQLDataSetCommand osztály FillDataSet függvényét meghívjuk, akkor az utolsó előtti paraméterben lehetőségünk van arra, hogy megadjuk annak a rekordnak a sorszámát, ahonnan az adatok megjelenítésére szükségünk van. Az utolsó paraméterben pedig azt szabályozhatjuk, hogy hány rekord jelenjen meg ettől kezdve. Mivel létrehoztunk egy start nevű globális változót, így ebben tárolhatjuk, hogy hányadik rekordtól jelenítjük meg az adatokat.
         da.Fill(ds, start, 5, "Customers");
         dataGrid1.DataSource = ds.Tables[0].DefaultView;
      }
A táblában való lépkedéshez most már csak azt kell megoldanunk, hogy a start változónk értéke növekedhessen, illetve csökkenhessen. Ezt követően már csak ismét meg kell hívnunk a Dump függvényt, hogy az adatok újból kiírásra kerüljenek.
      protected void button2_Click (object sender, System.EventArgs e)
      {
        if (start>=5)
        {
          start -= 5;
          Dump();
        }                  
      }
      protected void button3_Click (object sender, System.EventArgs e)
      {        
        start += 5;
        Dump();
      }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2001 évkönyv 150. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |