DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Tobi Ulm Artikel Drucken
        
Listendarstellung mit Templates

 Was Sie in diesem Modul lernen:

-          Templates zu erzeugen

-          Das ADO.NET DataSet zu verwenden

Was Sie an Wissen mitbringen sollten:

-          Kenntnisse in ASP.NET

-          Kenntnisse in C#

ADO.NET besteht aus folgenden Komponenten: Connection, Command, DataReader und dem DataSetCommand. Am meisten wird in ASP.NET Seiten das WebControl DataGrid verwendet um Daten anzeigen zu lassen. Das DataGrid Control ist ja ganz nett und bietet einige Features, welche so mancher ASP Entwickler mit dem ASP DTC DataGrid vermisst hat. Jedoch sind Entwickler je nach Projekt angewiesen eine "Customized" Darstellung der Daten anzubieten. Deswegen bietet ASP.NET zwei weitere Controls, das DataList Control und den Repeater. Diese Controls besitzen von Haus aus keine Formatierungseinstellungen, sondern werden über sogenannte Templates eingestellt, die den Kompiler anweisen wie er die Daten auf einer WebPage darstellen soll. Templates sind also in ASP.NET eine einfache und tolle Möglichkeit Daten zu visualisieren und zu formatieren. Dabei wird eine Art Liste erzeugt die in unserem Beispiel mit einem DataSet gefüllt wird. Die drei wichtigsten Templates sind: HeaderTemplate, ItemTemplate und das  FooterTemplate. Folgende Templates gibt es ausserdem:

-         AlternatingItemTemplate

-         SelectedItemTemplate

-         EditItemTemplate

Templates könne aber nur mit folgenden WebControls benutzt werden:

            -         Repeater

-         DataList

-         DataGrid

            -    Pager

 OK. soweit zum HardCore Theorie Teil, jetzt der mehr oder weniger praktische Nutzen. Als altererstes muss ich da es sich um Daten aus einer DatenBank handelt arbeiten wir nun ADO.NET:

 DataSet dsCustomers = new DataSet();

SQLConnectionconnSQL=newSQLConnection("server=localhost;uid=sa;pwd=;database=northwind");

SQLDataSetCommand sqlcmdCustomers = new SQLDataSetCommand("SELECT * FROM Customers", connSQL);

sqlcmdCustomers.FillDataSet(dsCustomers, "Customers");

CustomerListe.DataSource = dsCustomers.Tables("Customers").DefaultView;

CustomerListe.DataBind(); 

 Dieser Quellcode sollte den meisten inzwischen bekannt sein. Ich erzeuge eine managed Provider SQLConnection(connSQL), anschliessend ein SQLDataSetCommand (sqlcmdCustomers) und noch ein DataSet(dsCustomers). Ich binde dann die Daten des DataSets an meinen Repeater(CustomerListe). Soweit zum Teil: wie bringe ich meine Daten auf die WebPage. Nun werden wir uns um die Templates kümmern die die Formatierung der Daten vornehmen.

 <asp:repeater id="CustomerListe" runat="Server">

                  <template name="HeaderTemplate">

                           <table>

                                    <tr>

                                             <th>CustomerID</th>

                                             <th>CompanyName</th>

                                             <th>ContactName</th>

                                    </tr>

                          

                  </template>

                  <template name="ItemTemplate">

                           <tr>

                                    <td><%# DataBinder.Eval(Container.DataItem, "CustomerID")%></td>

                                    <td><%# DataBinder.Eval(Container.DataItem, "CompanyName")%></td>

                                    <td><%# DataBinder.Eval(Container.DataItem, "ContactName")%></td>

                           </tr>

                  </template>

                  <template name="FooterTemplate">

                           </table>

                 </template>

 </asp:repeater>

Ich verwende zur eigentlichen Ausgabe einen asp:Repeater.

Innerhalb dieses Repeaters erzeuge ich die drei oben gennanten Templates.

HeaderTemplate:

 -Template für die Überschriften meiner Tabelle

ItemTemplate:

- Dieses Template wird benutzt um die einzelnen DatenFelder zu formatieren.

Ich erzeuge ein HTML TableRow und HTML TableData Zellen die ich dann mit Daten befülle.

Zu guter letzt baue ich noch einen

FooterTemplate:

- Dieser schliesst einfach die Tabelle. Sie können hier, genauso wie im HeaderTemplate, Includes machen um z.B.: Menustrukturen reinzuladen.


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente

  Erfasst am: 04.05.2001
  Gültig bis: 03.06.2001
3 Ratings
Bewertung: 26,7%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG