HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Táblázat létrehozása web oldalon, programból generálva


Példaprogram letöltése

10434 bájt

Egyszerűbb esetekben nagyon jól használható a DataGrid, vagy a Table kontrol arra az esetre, ha táblázatot szeretnénk használni a web oldalunkon. Ha viszont valami nagyon bonyolult, egyedi táblázatra van szükségünk, melynek minden apró részletének kinézetét befolyásolni szeretnénk, akkor legegyszerűbb megoldás, ha programból generáljuk a táblázat HTML kódját. Szerencsére ennek megvalósításához is rendkívül jó támogatást kapunk.

A megoldás a HtmlTable, HtmlTableRow, HtmlTableCell osztályokban keresendő. Ezek felhasználásával tetszőleges táblázatot varázsolhatunk programból.
Nézzünk most bevezetésképpen egy egyszerű esetet e három osztály használatára. A feladatunk egy olyan táblázat létrehozása lesz, mely csupán egy sorból és egy oszlopból áll. Ebben az egy cellában pedig elhelyezünk egy feliratot.
Szükségünk lesz egy StringWriter osztályra annak érdekében, hogy a generált táblázat HTML kódjához sztringként hozzáférjünk. Ezen kívül egy HtmlTextWriter osztály is kell, így ebből is létrehozunk egy példányt. Ennek konstruktoránál megadjuk az előbb létrehozott StringWriter példányát.
  private void Page_Load(object sender, System.EventArgs e)
  {
      StringWriter sw = new StringWriter();
      HtmlTextWriter htw = new HtmlTextWriter(sw);
Kezdjük el felépíteni a táblázatot visszafelé: először létrehozunk egy cellát, melyhez a HtmlTableCell osztályt kell használnunk. Ennek InnerText property-jét használva megadhatunk egy tetszőleges sztringet, mely az adott cellában jelenik meg.
      HtmlTableCell cell = new HtmlTableCell();
      cell.InnerText = "Hello world";
Ha már adott egy cella, akkor ebből készíthetünk egy sort. Ehhez létrehozunk egy HtmlTableRow osztályt, majd ennek Cells property-jében lévő Add függvényt felhasználva hozzáadjuk ehhez a sorhoz a már elkészített cellát.
      HtmlTableRow row = new HtmlTableRow();
      row.Cells.Add(cell);
Ha már adott egy sor, akkor ebből készíthetünk egy táblázatot. A HtmlTable osztály létrehozásával tesszük ezt. Itt a Rows property Add függvényét használjuk fel arra, hogy egy már elkészített sort hozzáadjunk a táblázathoz.
      HtmlTable ht = new HtmlTable();
      ht.Rows.Add(row);
A táblázathoz rendeljünk egy stílust: a Style property-n keresztül az Add függvény hívásával tehetjük ezt meg. Itt első paraméterként a stílus nevét, másodikként pedig annak értékét kell megadnunk.
      ht.Style.Add("background-color", "aqua");
Végezetül generáltassuk a HTML kódot a RenderControl függvény hívásával. Paraméterként a már létrehozott HtmlTextWriter osztály példányát kell átadnunk.
      ht.RenderControl(htw);
Végül nem marad más tennivalónk, mint a kész HTML kódot beilleszteni a web oldalunkba, melyet most úgy végzünk el, hogy a web oldalon elhelyezett Label kontrol szövegének adjuk át azt.
      Label1.Text = sw.ToString();
  }
Ha megnézzük az eredmény HTML kódját, akkor jól látható a fenti lépések eredménye.
<span id="Label1" style="Z-INDEX: 101; LEFT: 64px; POSITION: absolute; TOP: 64px">
<table style="background-color:aqua;">
   <tr>
      <td>Hello world</td>
   </tr>
</table>
</span>

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