|
|
|
|
Példaprogram letöltése
4977 bájt
|
A DataSource komponenst használhatjuk arra, hogy egy adatbázistáblát összekapcsoljunk egy adatbázis adatok szerkesztésére vagy megjelenítésére (data-aware) szolgáló komponenssel. Természetesen a komponens nem csak erre használható, az eseményeit és property-jeit kihasználva több feladat megoldására is alkalmazható.

AutoEdit
Osztály: TDataSource
property AutoEdit: Boolean;
Ha a property értéke igaz, akkor az adatkészlet automatikusan Edit állapotba kerül, amikor egy olyan adatbázis szerkesztésére szolgáló komponens kapja meg a fókuszt, amelynek DataSource property-jéhez a DataSource komponens van rendelve.

DataSet
Osztály: TDataSource
property DataSet: TDataSet;
Egy TDataSet osztályból származó adatkészlet komponenst (pl. TTable, TQuery. stb.) kapcsolhatunk a DataSource komponenshez.

Enabled
Osztály: TDataSource
property Enabled: Boolean;
Ezzel a property-vel kikapcsolhatjuk az adatok megjelenítését a dataSource-hoz tartozó data-aware komponensekben.

State
Osztály: TDataSource
property State: TDataSetState;
Az adatkészlet állapotát olvashatjuk ki ebből a property-ből. Értékei az alábbiak lehetnek:
- dsInactive: az adatkészlet nincs megnyitva, így az adatokhoz sem lehet hozzáférni;
- dsBrowse: az adatok megtekinthetők, de nem szerkeszthetők. Ez az alapértelmezett állapot;
- dsEdit: az aktuális rekord adatai szerkeszthetők;
- dsInsert: az újonnan beszúrt rekord szerkeszthető, de még nincs tárolva;
- dsSetKey: csak TTable és TClientDataSet komponenseknél fordulhat elő. A rekordok keresése engedélyezve van, vagy a SetRange művelet folyamatban van. A szűkített adatok megtekinthetők, de nem szerkeszthetők;
- dsCalcFields: az OnCalcFields esemény van folyamatban. Ekkor új rekordok nem szúrhatók be, és az aktuális rekord adatai sem szerkeszthetők (kivéve a kalkulált mezőket).
- dsFilter: az OnFilterRecord esemény van folyamatban. A szűkített adatok megtekinthetők, de a rekordok nem szerkeszthetők, és új adat beszúrása sem lehetséges.
- dsBlockRead: a data-aware komponensek nem lettek frissítve, vagy az események nem jöttek létre, amikor másik rekord az aktív;
- dsOpening: az adatkészlet megnyitása folyamatban van, még nem fejeződött be;

Edit;
Osztály: TDataSource
procedure Edit;
Az adatkészletet Edit módba állítja, amennyiben ez lehetséges. A metódus ellenőrzi, hogy az AutoEdit property érték igaz-e, valamint a State property értéke dsBrowse-e, mielőtt meghívná az adatkészlet Edit metódusát.

IsLinkedTo
Osztály: TDataSource
function IsLinkedTo(
DataSet: TDataSet
): Boolean;
A függvény ellenőrzi, hogy a DataSource a paraméterként megadott adatkészlethez csatlakozik-e. Ezt a függvényt akkor használhatjuk ki, ha komponenst fejlesztünk, és el akarjuk kerülni a körkörös hivatkozásokat (mint pl. a Lookup komponenseknél).
Paraméterek
DataSet: TDataSet
Az ellenőrizni kívánt adatkészlet objektuma.
Visszatérési érték
A visszatérési érték igaz, ha az adatkészlet már a DataSource-hoz van kapcsolva, és hamis, ha nem.

OnDataChange
Osztály: TDataSource
property OnDataChange: TDataChangeEvent;
Ez az esemény akkor jön létre, amikor az adatkészlet aktuális rekordjának adatai megváltoznak, vagy egy másik rekordra áll a kurzor. A Field paraméterben megkapjuk annak a mezőnek az objektumát, amely mezőben az adat megváltozott. Ha több mező is megváltozott egyszerre (például amikor egy új rekordra pozícionálunk), akkor a Field paraméter értéke nil.

OnStateChange
Osztály: TDataSource
property OnStateChange: TNotifyEvent;
Az esemény akkor következik be, amikor az adatkészlet állapota megváltozik (lásd. State property).

OnUpdateData
Osztály: TDataSource
property OnUpdateData: TNotifyEvent;
Az esemény azelőtt következik be, mielőtt a rekord adatai véglegesítésre kerülnének. Ekkor elvégezhetjük még a szükséges módosításokat, javításokat, ellenőrzéseket, mielőtt az adatok véglegesen tárolásra kerülnének. Ha tehát meghívjuk a Post metódust, és az eseményhez van rendelve eljárás, akkor a Post előtt az fut le. Az esemény leginkább a TDataSet osztály BeforePost eseményével hasonlítható össze.
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 2002 évkönyv 693. 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!
|