HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

DataRowView osztály bemutatása


Példaprogram letöltése

11837 bájt

Cikkünkben bemutatjuk a DataRowView osztály lehetőségeit, a lényegesebb property-k és metódusok referenciájának megadásával. Egy gyakorlati példa segítségével ismertetjük, milyen szerepük van a DataRowView osztályú objektumoknak az adathalmazokon végzett műveletekben, milyen információkat szerezhetünk az adathalmaz rekordjairól az osztály eszközeinek használatával.

Az osztály egyik property-je kapcsán említettük a DataRowView osztályt, ám részletes ismertetésére nem tértünk ki akkor. Ezt most pótoljuk.
Az adatok megjelenítésének egyik leglátványosabb eszköze, a DataGrid kontrol bizonyára mindenki számára ismert, és használt eszköz. A DataGrid kontrolokban tárolt adatok, vagyis a kontrol minden egyes sora az adott adatrekord egy bizonyos verzióját tartalmazzák. Hogy milyen verziót, az könnyen meghatározható a DataRowView osztály property-jeivel és metódusaival. A DataView típusú nézethalmazban tárolt információ (az eredeti adathalmaz kivonata) minden egyes rekordja megfelel egy DataRowView típusú objektumnak, s mint ilyen segítségül hívhatjuk az eredeti adattáblákon végzett műveletek bizonyos fázisaiban. Az adattáblába való adatbevitelkor az adatok helyességét ellenőrizhetjük a nézettáblán keresztül is, nem megfelelő adatok esetén még van lehetőség módosításra.
Vizsgáljuk meg először a property-ket:
DataView
Osztály: DataRowView
public DataView DataView {get;}
Megadja azt a DataView objektumot, melyhez az adott DataRowView típusú rekord tartozik.
IsEdit
Osztály: DataRowView
public bool IsEdit {get;}
Megadja, hogy az adott rekord szerkesztő módban van-e, vagy sem. Értéke true amennyiben igen, egyébként false.
IsNew
Osztály: DataRowView
public bool IsNew {get;}
Megadja, hogy az adott rekord új rekord-e, vagy sem. Értéke true amennyiben igen, egyébként false.
Item
Osztály: DataRowView
public object this[int ndx] {get; set;}
Ez a DataRowView osztály indexelő property-je. Segítségével lekérdezhetjük, illetve beállíthatjuk az adott rekord értékét.
Row
Osztály: DataRowView
public DataRow Row {get;}
A nézet rekordjait reprezentáló kollekció, elemeire indexekkel hivatkozhatunk. Például:
...
DataRowView drv;
...
Console.Write(drv.Row[0].ToString());
...
RowVersion
Osztály: DataRowView
public DataRowVersion RowVersion {get;}
Megadja az aktuális verzióját az adott rekordértéknek, a DataRow objektumnak. Segítségével követhetjük, hogy az adatmanipuláció egyes fázisaiban milyen verziójú értékek kapcsolódnak az adott rekord oszlopaihoz. Lehetséges értékei:
Érték Magyarázat
Current A rekord egy oszlopának aktuális értéke.
Original A rekord egy oszlopának eredeti értéke.
Default A rekord egy oszlopának alapértelmezett értéke.
Proposed A rekord egy oszlopának tervezett új értéke.
Az adott sorra meghívva a BeginEdit metódust, és megváltoztatva az oszlop értékét, a Current és Proposed értékek elérhetőek.
A CancelEdit metódus hívása után a Proposed érték törlődik.
Az EndEdit metódus meghívása után, mikor módosítottuk az oszlop értékét, a Proposed érték lesz az aktuális érték.
Az adattábla AcceptChanges metódusát hívva a Current és Original értékek elérhetőek.
Nézzük meg most a metódusokat:
BeginEdit
Osztály: DataRowView
public void BeginEdit();
Az adattábla egy DataRow objektumára meghívva a szerkesztési folyamat elkezdődik.
CancelEdit
Osztály: DataRowView
public void CancelEdit();
Az adatmódosítási folyamat elvethető a metódus meghívásával, a módosítás nem léphet életbe. Az elvetés történhet például a bevinni tervezett érték helyességének ellenőrzése után.
Delete
Osztály: DataRowView
public void Delete();
Segítségével törölhető egy rekord a nézetből, mely a DataTable AcceptChanges metódusának meghívásáig nem törlődik permanensen.
EndEdit
Osztály: DataRowView
public void EndEdit();
A módosítási folyamat befejezhető, a módosítás életbe lép.
Példaalkalmazás
A mellékelt példában két tulajdonságát modellezzük a DataRowView osztályú objektumoknak: az első tulajdonság, mellyel bevitel előtt módosíthatók a bevinni szándékozott rekordértékek. A második tulajdonság segítségével lekérdezhetjük az egyes rekordértékek verzióit.
  • Adatmódosítás
Az alkalmazás fő Form-ja két rácsot tartalmaz: a felsőben az adott nézet látható, míg az alsóban maga az adattábla rekordjai. A ’Sorok beszúrása’ gombbal vihetők be sorban rekordok, az első bevitel után csak az újonnan bevitt rekord látható a nézetrácsban. Ennek a rekordnak a ’ProductName’ oszlopértékét változtathatjuk meg a TextBox kontrolba írt értékre; természetesen a módosítás még bevitel előtt életbe lép.
  • Rekordértékek verziója
Az ’Adott sor állapotai’ gombra kattintva megjelenik egy ablak, melyben egy egysoros tábla látható, melynek ProductName értékét módosíthatjuk kétféleképpen: az első megoldásban – ’ Módosítás elkezdése, majd elvetése’ feliratú gomb – a megadott értékkel nem módosul a rekord, mivel a módosítási folyamat elvetődik; a második megoldásban a művelet befejeződik, ehhez a ’ Módosítás elkezdése és befejezése’ feliratú gombot kell megnyomnunk.
A műveletek egyes lépései után lekérdezett verzióinformációkat egy ListBox kontrolban követhetjük nyomon.

Cikksorozat

#IDKategóriaCikk címeSorozat
4483WindowsSzoftverfrissítő szolgáltatások1. rész
4536WindowsA SUS szerver telepítése2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 737. 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 |