HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Több rekord kiválasztása a TDBGrid komponensben


Példaprogram letöltése

7765 bájt

A TDBGrid komponensben lehetőségünk van arra, hogy egynél több rekordot is kiválasszon a felhasználó. Ehhez csak arra van szükség, hogy az Options property-hez a dgMultiSelect értéket is hozzáadjuk.

Ezekkel a kiválasztott rekordokkal tetszőleges műveletet végrehajthatunk, ehhez persze tudnunk kell megállapítani, hogy melyek

A TDBGrid komponensben lehetőségünk van arra, hogy egynél több rekordot is kiválasszon a felhasználó. Ehhez csak arra van szükség, hogy az Options property-hez a dgMultiSelect értéket is hozzáadjuk.

Ezekkel a kiválasztott rekordokkal tetszőleges műveletet végrehajthatunk, ehhez persze tudnunk kell megállapítani, hogy melyek ezek.


Mellékelt példában egy nyomógomb lenyomására összegezzük a kijelölt rekordok B mezőjének a tartalmát.

Első lépésként átmenetileg megszakítjuk az adatbázis és az adatmegjelenítő komponensek közötti kapcsolatot a DisableControls eljárás hívásával. Ezt azért célszerű megtenni, mert így egyrészt gyorsabb lesz a feldolgozás, másrészt pedig nem ugrál a TDBGrid-en a kijelölés, mikor végigmegyünk a kiválasztott rekordokon az összegzés elvégzésének érdekében.

A SelectedRows property-t felhasználva kérdezhetjük le, hogy mely rekordok lettek kijelölve. Ezen belül is a Count property fogja megmondani, hogy összesen hány darab ilyen van. Ha egy sincs kijelölve, tulajdonképpen akkor is van egy aktuális rekord. Ilyenkor csupán ennek az értékét írjuk ki.

Ha viszont van kijelölve, akkor egy FOR ciklussal végigmegyünk sorban az összesen.
Mivel e művelet közben megváltoztatjuk az aktuális rekord pozícióját, így illik egy könyvjelzőt létrehozni a GetBookmark hívásával, majd ha elvégeztük a műveletet, akkor visszaállni az eredeti pozícióra a GotoBookmark eljárással.

A FOR ciklus magjában mindig ugrunk a következő kijelölt rekordra, majd egy lokális változóba elvégezzük a B mező értékének összegzését.

A ciklus végén ismét engedélyezzük a kapcsolatot az adatbázis és az adatmegjelenítő objektumok között az EnableControls hívásával.

Legvégül már csak annyi van hátra, hogy a kapott eredményt kiírjuk.


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 1999 évkönyv 181. 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 |