Un document xml poate stoca date de tip tabela. Ce inteleg prin date de tip tabela? Daca am tabelul de mai jos:
| id | projName | verion | asignedTo | lastUpdateDate |
|---|---|---|---|---|
| 175077 | UI | Web | john smith | 1/4/2009 9:57:15 PM |
| 175078 | Windows | UI | olga bruno | 2/4/2009 10:07:20 AM |
| 175079 | 2.0 | CommeonDLL | Adrian Blumer | 15/2/2009 07:12:21 AM |
| 175070 | 1.0 | WS | Joseph Lee | 6/1/2010 11:11:10 AM |
pot salva acest tabel ca document xml asa:
<?xml version="1.0" encoding="utf-8"?> <tasks> <task id="15503" projName ="UI" verion="web" asignedTo="john smith" lastUpdatedDate="1/4/2009 9:57:15 PM" /> <task id="12055" projName ="UI" verion="windows" asignedTo="olga bruno" lastUpdatedDate="2/4/2009 10:07:20 AM" /> <task id="15474" projName ="CommonDll" verion="2.0" asignedTo="Adrian Blumer" lastUpdatedDate="15/2/2009 07:12:21 AM" /> <task id="12569" projName ="WS" verion="1.0" asignedTo="Joseph Lee" lastUpdatedDate="6/1/2010 11:11:10 AM" /> </tasks>
De foarte multe ori acest tabel este updatat automat in timp ce persoanele care lucreaza la proiect incep taskuri noi, termina taskuri, avanseaza la versiuni superioare etc. Pentru un manager de proiect e important sa vada acest xml, si eventual sa poata face modificari manual. Deocamdata, o sa descriu numai cum poate fi afisat documentul respectiv intr-un gridView, urmand ca in una din zilele urmatoare sa ofer si o cale de editare a lui.
Un obiect gridView se introduce in pagina asa:
<asp:GridView ID="gwStartedTasks" runat="server" Width="600px" AutoGenerateDeleteButton="True" OnRowDeleting="gwStartedTasks_RowDeleting"> <AlternatingRowStyle BackColor="White" /><HeaderStyle BackColor="Azure" /> </asp:GridView>
Pentru a afisa un set de date, trebuie sa ii transmitem acestui obiect un DataSource – care este de tip object, si care, in cazul dat, va fi tocmai documentul xml descris mai sus.
Xml-ul il voi incarca intr-un DataSet, in felul urmator:
DataSet xmlDataSet = new DataSet();
xmlDataSet.ReadXml(pathToXml);
gwStartedTasks.DataSource = xmlDataSet;
gwStartedTasks.DataBind();
unde variabila pathToXml este o variabila de tip string care contine calea spre locatia documentului Xml.
Codul de mai sus poate fi scris in cadrul metodei Page_Load.
La incarcarea paginii, automat, in 4 linii de cod am afisat un tabel care contine datele citite din xml.
Obiectul DataView are un set destul de mare de proprietati, printre care posibilitati de a defini paginatie, culori, tip de alternare culori, sortare pentur coloane, border, simensiuni, validare etc.
Ceea ce am incercat sa fac acum e doar o scurta, foarte scurta introducere in folosirea GridView (impreuna cu XML, a carui putere incep sa o apreciez din ce in ce mai mult in ultima perioada). In viitor o sa revin cu articole mai detaliate si mai avansate pe aceasta tema.