|
|
TDBGrid
DataControls paletta 16. rész
|
|
Példaprogram letöltése
8962 bájt
|
Sorozatunk mostani cikkében a TDBGrid komponens eseményeit vizsgáljuk meg. Néhány esemény felhasználásával pedig bemutatjuk, hogy miként készíthetünk az adott cella értékétől függő grafikus adat megjelenítést.
Nézzük milyen eseményeket találunk a komponensnél, melyek csak a TDBGrid-re jellemzőek.
OnCellClick esemény jön létre, ha a felhasználó rákattint egy adott cellára. Paraméterként kapunk egy Column nevű TColumn típusú változót, melyből megtudhatjuk, hogy melyik oszlopban van a kiválasztott cella.
OnColEnter esemény jön létre, ha a felhasználó belép a táblázat egy oszlopába, míg OnColExit esemény, ha elhagyja azt.
Ha a DefaultDrawing property-t hamisra állítjuk, akkor a komponens nem fogja elvégezni az adatok megjelenítését a táblázat celláiba. Ekkor, ha felhasználjuk az OnDrawDataCell eseményt, akkor ezt a megjelenítést elvégezhetjük mi magunk. Ennek csupán az az egyetlen, de igen hasznos előnye, hogy az adatok megjelenítését ekkor teljesen egyedien oldhatjuk meg, tetszőleges grafikai elemeket megjelenítni, akár az adott cella aktuális értékétől függően is.
A rajzoláshoz a TDBGrid Canvas property-ét használhatjuk fel. Az OnDrawDataCell eseménynél kapunk néhány további értéket is a rajzolás elvégzéséhez. A Rect paraméterben kapjuk annak a téglalapnak a koordinátáit, melyben az adott cella rajzolása elvégezhető. A Field paraméterben TField típusként megkapjuk az aktuális adatbázis mezőt. A State paramétert vizsgálva eldönthetjük, hogy az éppen kirajzolandó cella milyen állapotú. Ennek értéke az alábbiak egyike lehet.
- gdSelected - a cella kijelölt
- gdFocused - a cella birtokolja a fókuszt, de nem kijelölt
- gdFixed - a cella fix, nem adat cella
Tudnunk kell az OnDrawDataCell eseményről, hogy annyiszor jön létre, ahány látható cellája van a táblázatnak, így minden egyes cellát egyedileg kirajzolhatunk.
OnColumnMoved esemény jön létre, ha a felhasználó az egyik oszlopot a fejlécénél fogva egy másik helyére mozgatja. Ekkor a paraméterként kapott FromIndex-ből tudhatjuk meg, hogy melyik az az oszlop pozíció, amelyről a mozgatás indult és a ToIndex paraméterből tudjuk meg, hogy hol ért véget. Ezek alapján egyértelműen megállapíthatjuk, hogy melyik két oszlop játszott szerepet a cserében.
Ha felhasználó valamelyik oszlop fejlécére kattint, akkor jön létre az OnTitleClick esemény.
Az OnEditButtonClick eseménnyel részletesen a TDBGrid komponenst bemutató sorozat 4. részében foglalkozunk.
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 2000 évkönyv 500. 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!
|