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.
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.
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.