Programmieren lernen in ASP.NET mit C#



Ähnliche Dokumente
Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Professionelle Seminare im Bereich MS-Office

4 Aufzählungen und Listen erstellen

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Hilfe zur Urlaubsplanung und Zeiterfassung

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Software Engineering Klassendiagramme Assoziationen

FORUM HANDREICHUNG (STAND: AUGUST 2013)

5.2 Neue Projekte erstellen

Internationales Altkatholisches Laienforum

Zugriff auf Daten der Wago über eine Webseite

Kurzeinführung Excel2App. Version 1.0.0

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Anleitung über den Umgang mit Schildern

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis 1

Artikel Schnittstelle über CSV

Professionelle Seminare im Bereich MS-Office

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Die Erstellung eigener Strukturprofile

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Anleitung, WebRecherche

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

WPF Steuerelemente Listbox, ComboBox, ListView,

GSD-Radionik iradionics Android-App

ecaros2 - Accountmanager

Benutzeranleitung Superadmin Tool

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

IINFO Storyboard

1 topologisches Sortieren

Aktuell 2014 als Startseite der PK-Website auf Firefox einstellen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

So gehts Schritt-für-Schritt-Anleitung

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Kostenstellen verwalten. Tipps & Tricks

HTML Programmierung. Aufgaben

Crashkurs Buchführung für Selbstständige

Word 2010 Schnellbausteine

Kurzanleitung: Abonnenten-Import

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Handbuch zum Excel Formular Editor

Einfügen von Bildern innerhalb eines Beitrages

WordPress. Dokumentation

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Eigene Seiten erstellen

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Registrierungsanleitung Informatik-Biber

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

Hilfedatei der Oden$-Börse Stand Juni 2014

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Bauteilattribute als Sachdaten anzeigen

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Individuelle Formulare

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

Excel Pivot-Tabellen 2010 effektiv

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Quartalsabrechnung! " " " " " " " Stufe 1! Beheben von Abrechnungsfehlern" Stufe 2! Neue Abrechnung erstellen"

ODBC-Treiber Programmübersicht

einrichtung in den kaufmännischen Programmen der WISO Reihe

Einbindung einer ACT!12-16 Datenbank als Datenquelle für den Bulkmailer 2012

Lehrer: Einschreibemethoden

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Java: Vererbung. Teil 3: super()

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Die Bundes-Zentrale für politische Bildung stellt sich vor

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Anbindung an easybill.de

Leseprobe. Walter Doberenz, Thomas Gewinnus. Visual C# Grundlagen und Profiwissen ISBN:

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Dokumentation: Balanced Scorecard

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

my.ohm Content Services Autorenansicht Rechte

Anleitung Typo3-Extension - Raumbuchungssystem

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

TYPO3 Super Admin Handbuch

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Anleitung BFV-Widget-Generator

Weiterverarbeitung Leseranfragen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Anleitung für CleverReach

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Adminer: Installationsanleitung

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Transkript:

Programmieren lernen in ASP.NET mit C# von Patrick A. Lorenz, Christoph A. Müller 1. Auflage Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22311 0 Zu Inhaltsverzeichnis schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

CARL HANSER VERLAG Patrick A. Lorenz, Christoph A. Müller Programmieren lernen in ASP.NET mit C# 3-446-22311-8 www.hanser.de

Lektion 9 Visualisierung von Daten 219 Abbildung 9.5 Das Ergebnis der beiden Methoden ist identisch. Das Data Binding mit den drei anderen Listen-Controls funktioniert analog zur ListBox. Zusätzliche Beispiele für die DropDownList, die CheckBoxList und die RadioButtonList finden Sie auf der Buch-CD. Alle Server Controls, die das Data Binding unterstützen, haben eine DataSource- Eigenschaft und eine DataBind-Methode. Manche Controls haben noch zusätzliche Eigenschaften, wie DataTextField und DataValueField beim ListBox-Control, um bestimmte Felder in der Datenquelle zu referenzieren. Es ist nicht nur möglich, einen Data Reader als Datenquelle zu nutzen, auch Collections wie zum Beispiel die ArrayList können als Datenquelle dienen. Aber auch komplexe Objekte wie DataTable-Objekte aus DataSets lassen sich nutzen. Mehr über diese bisher unbekannten Klassen lernen Sie in der nächsten Lektion. Außerdem ist es möglich, jedes Objekt, das eine der Schnittstellen IEnumerable, ICollection oder IListSource implementiert, als Datenquelle zu nutzen. 9.2 Komplexe Darstellung Die hier vorgestellten Controls dienen der komplexeren Darstellung von Daten. Die Ausgabe dieser Objekte wird über so genannte Templates (englisch: Vorlage) bestimmt. Es handelt sich dabei um spezielle Abschnitte innerhalb der Definition eines Controls, in denen man den HTML-Code für ihre verschiedenen Zustände definieren kann. Diese Vorlagen werden im Zuge der Datenbindung gefüllt und so oft wie notwendig wiederholt.

220 9.2 Komplexe Darstellung 9.2.1 Repeater Der Repeater ist ein recht einfaches Control. Ein Repeater selbst hat keine Standardausgabe. Diese wird vollständig über Vorlagen bestimmt. Das Control gibt für jeden Eintrag einer Datenquelle den in der Vorlage definierten HTML-Code aus. <asp:repeater id="repeater1" runat="server"> <HeaderTemplate></HeaderTemplate> <ItemTemplate></ItemTemplate> <AlternatingItemTemplate></AlternatingItemTemplate> <SeparatorTemplate></SeparatorTemplate> <FooterTemplate></FooterTemplate> <asp:repeater> Die Definition eines Repeater-Controls erfolgt über <asp:repeater>. Darin lassen sich verschiedenste Vorlagen erstellen. Über das HeaderTemplate und Footer- Template kann man eine Ausgabe bestimmen, welche nur einmal am Anfang und einmal am Ende der Gesamtausgabe erscheint. Das ItemTemplate und AlternatingItemTemplate bestimmt die Ausgabe für die einzelnen Einträge in der Liste. Ist ein AlternatingItemTemplate angegeben, wird nach jedem ausgegebenen Eintrag zwischen Item- und AlternatingItemTemplate abgewechselt, also alterniert. Das SeparatorTemplate bestimmt die Ausgabe zwischen jedem Eintrag. Von all diesen Vorlagen ist das ItemTemplate Pflicht. Alle anderen sind optional. Das folgende Beispiel listet alle Benutzer aus der Datenbank über einen Repeater auf. Hierbei wird dem Control der Data Reader als Datenquelle angegeben und danach die DataBind-Methode aufgerufen. Das wirklich Spannende passiert in den Vorlagen. Im HeaderTemplate wird ein Absatz mit dem Text Das ist der Header der Liste definiert. Dadurch, dass das HeaderTemplate nur einmal am Anfang der Liste ausgegeben wird, kann man es auch dazu nutzen, um zum Beispiel Tags, welche eine Liste einleiten, auszugeben. Hier wird das mit dem HTML-Tag <ul> gemacht. Das Gleiche gilt auch für das FooterTemplate. Das ItemTemplate definiert ein <li> und verwendet danach die Data Binding- Syntax, um an dieser Stelle den Vornamen und Nachnamen auszugeben. Die Eigenschaft Container.DataItem enthält dabei den jeweiligen Eintrag in der Datenquelle. In diesem Fall ist das der aktuelle Datensatz des Data Reader-Objekts. Die Abbildung zeigt die Ausgabe des Repeaters.

Lektion 9 Visualisierung von Daten 221 Listing 9.7 Repeater1.aspx <%@ Page Language="C#" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) if(!ispostback) OleDbConnection connection = new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("db1.mdb")); connection.open(); OleDbCommand mycommand = new OleDbCommand( "SELECT Vorname, Nachname FROM Benutzer", connection); OleDbDataReader reader = mycommand.executereader(); Repeater1.DataSource = reader; Repeater1.DataBind(); reader.close(); connection.close(); </script>... <form runat="server"> <asp:repeater id="repeater1" runat="server"> <HeaderTemplate> <p>das ist der Header der Liste</p> <ul> </HeaderTemplate> <ItemTemplate> <li><%# DataBinder.Eval(Container.DataItem, "Vorname") %> <%# DataBinder.Eval(Container.DataItem, "Nachname") %></li> </ItemTemplate> <FooterTemplate> </ul> <p>das ist der Footer der Liste</p> </FooterTemplate> </asp:repeater> </form>

222 9.2 Komplexe Darstellung Abbildung 9.6 Die Ausgabe des Repeaters. Nachfolgend sehen Sie die HTML-Ausgabe des Repeater-Controls im Browser. Das HeaderTemplate und FooterTemplate wurde nur einmal generiert. Für jeden Eintrag in der Datenquelle wurde das ItemTemplate ausgegeben. <p>das ist der Header der Liste</p> <ul> <li>christoph Müller</li> <li>patrick Lorenz</li> <li>romina Müller</li> <li>vorname1 Nachname1</li> </ul> <p>das ist der Footer der Liste</p> 9.2.2 DataList Die DataList ist dem Repeater ähnlich. Sie bietet zusätzlich noch Möglichkeiten, Einträge auszuwählen und zu editieren. Außerdem kann sie die Einträge tabellarisch darstellen. Auch bei der DataList wird die Ausgabe mittels Vorlagen festgelegt. Hinzu kommt die Möglichkeit, für die einzelnen Bereiche der DataList Formatierungen beziehungsweise Styles zu vergeben.

Lektion 9 Visualisierung von Daten 223 <asp:datalist id="datalist1" runat="server"> <AlternatingItemStyle /> <EditItemStyle /> <FooterStyle /> <HeaderStyle /> <ItemStyle /> <SelectedItemStyle /> <HeaderTemplate></HeaderTemplate> <ItemTemplate></ItemTemplate> <AlternatingItemTemplate></AlternatingItemTemplate> <EditItemTemplate></EditItemTemplate> <SelectedItemTemplate></SelectedItemTemplate> <SeparatorTemplate></SeparatorTemplate> <FooterTemplate></FooterTemplate> </asp:datalist> Eine DataList wird über <asp:datalist> definiert. Zusätzlich zu den Vorlagentypen des Repeater-Controls bietet die DataList zwei Typen SelectedItem- Template und EditItemTemplate. Hierüber kann man die Ausgabe eines Eintrags im ausgewählten Zustand und im Bearbeitungsmodus bestimmen. Über die jeweiligen Style-Tags, wie das ItemStyle-Tag, kann man das Aussehen der Einträge beeinflussen. Das Listing gibt in einem DataList-Control alle Benutzer aus der Datenbank aus und ermöglicht das Auswählen von Einträgen. Auch hier wird wieder ein Data Reader an die DataList gebunden. Über die verschiedenen Style-Tags wird das Aussehen der DataList etwas verändert. Zum Beispiel wird die Hintergrundfarbe eines ausgewählten Eintrags auf hellgrün gestellt. Ansonsten ähnelt die Vorlagendefinition der des Repeater-Controls. Abbildung 9.7 Die gefüllte DataList mit ausgewähltem Eintrag.

224 9.2 Komplexe Darstellung Im ItemTemplate wird ein Button definiert, über den ein Eintrag ausgewählt wird. Um auf das Click-Ereignis des Button-Objekts zu reagieren, sieht das DataList- Control das Ereignis ItemCommand vor. Sobald man auf den Button klickt, wird die Ereignisbehandlungsmethode DataList1_ItemCommand aufgerufen. Darin wird die SelectedIndex-Eigenschaft der DataList auf den Index des angeklickten Eintrags gesetzt. Diesen Index erhält man über die Eigenschaft Item.ItemIndex der übergebenen Ereignisargumente. Listing 9.8 DataList1.aspx <%@ Page Language="C#" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) if(!ispostback) OleDbConnection connection = new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("db1.mdb")); connection.open(); OleDbCommand mycommand = new OleDbCommand( "SELECT Vorname, Nachname FROM Benutzer", connection); OleDbDataReader reader = mycommand.executereader(); DataList1.DataSource = reader; DataList1.DataBind(); reader.close(); connection.close(); void DataList1_ItemCommand(Object source, DataListCommandEventArgs e) DataList1.SelectedIndex = e.item.itemindex; </script> <html> <head> </head> <body> <form runat="server"> <asp:datalist id="datalist1" runat="server"

Lektion 9 Visualisierung von Daten 225 OnItemCommand="DataList1_ItemCommand"> <FooterStyle backcolor="silver"></footerstyle> <HeaderStyle font-bold="true" backcolor="#e0e0e0"></headerstyle> <SelectedItemStyle backcolor="#c0ffc0"></selecteditemstyle> <ItemTemplate> <asp:button runat="server" Text="Auswählen"></asp:Button> <%# DataBinder.Eval(Container.DataItem, "Vorname") %> <%# DataBinder.Eval(Container.DataItem, "Nachname") %> </ItemTemplate> <HeaderTemplate> Das ist der Header der Liste </HeaderTemplate> <FooterTemplate> Das ist der Footer der Liste </FooterTemplate> </asp:datalist> </form> </body> </html> 9.2.3 DataGrid Von den hier vorgestellten Controls ist das DataGrid das komplexeste. Es dient ausschließlich dem Ausgeben von tabellarischen Inhalten. Dabei werden explizit Spalten genutzt. Die Darstellung erfolgt also in einer Art Raster. Das Control ist nicht nur in der Lage, Einträge zu editieren, sondern verfügt zusätzlich über Sortier- und Paging-Möglichkeiten zur seitenweisen Darstellung von umfangreichen Daten. Auf diese Funktionen wird in der nächsten Lektion näher eingegangen. Weiter ist es auch hier möglich, die verschiedenen Bereiche des DataGrids mit Styles zu formatieren. <asp:datagrid id="datagrid1" runat="server" > <AlternatingItemStyle /> <EditItemStyle /> <FooterStyle /> <HeaderStyle /> <ItemStyle /> <PagerStyle /> <SelectedItemStyle /> </asp:datagrid>

226 9.2 Komplexe Darstellung Über <asp:datagrid> wird ein DataGrid erstellt. Über die Style-Tags kann das Aussehen der einzelnen Elemente des Controls verändert werden. Diese Style-Tags werden ähnlich verwendet wie die der DataList. Das Beispiel listet über ein DataGrid-Control die Benutzertabelle aus der Datenbank auf. Das Zuweisen der Datenquelle und das Aufrufen der DataBind-Methode geschieht hier analog wie beim Beispiel der Data- List. Innerhalb des DataGrid-Tags wird über die Style-Tags das Aussehen des Controls bestimmt. Beim DataGrid ist in seiner einfachsten Form keine Spaltendefinition nötig. Das Objekt liest selbstständig die in der Datenquelle enthaltenen Felder aus und erhält somit die zu generierenden Spalten. Die Abbildung zeigt die erzeugte Tabelle. Listing 9.9 DataGrid1.aspx <%@ Page Language="C#" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) if(!ispostback) OleDbConnection connection = new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("db1.mdb")); connection.open(); OleDbCommand mycommand = new OleDbCommand( "SELECT Vorname, Nachname FROM Benutzer", connection); OleDbDataReader reader = mycommand.executereader(); DataGrid1.DataSource = reader; DataGrid1.DataBind(); reader.close(); connection.close(); </script> <html> <head> </head> <body> <form runat="server"> <asp:datagrid id="datagrid1" runat="server">