Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Beispielprojekte
12 Windows Presentation Foundation
13 Windows Store-Apps für Windows 8
A Installation und technische Hinweise
B Lösungen der Übungsaufgaben
C Inhalt der Buch-DVD
D Der Autor
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
Einstieg in Visual Basic 2012 von Thomas Theis
Ideal für Programmiereinsteiger geeignet
Buch: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Rheinwerk Computing
579 S., 3., aktualisierte und erweiterte Auflage 2013, brosch., mit DVD
24,90 Euro, ISBN 978-3-8362-1959-4
Pfeil 7 Weitere Elemente eines Windows-Programms
Pfeil 7.1 Hauptmenü
Pfeil 7.1.1 Erstellung des Hauptmenüs
Pfeil 7.1.2 Code des Hauptmenüs
Pfeil 7.1.3 Klasse Font
Pfeil 7.1.4 Schriftart
Pfeil 7.1.5 Schriftgröße
Pfeil 7.1.6 Schriftstil
Pfeil 7.2 Kontextmenü
Pfeil 7.2.1 Erstellung des Kontextmenüs
Pfeil 7.2.2 Code des Kontextmenüs
Pfeil 7.3 Symbolleiste
Pfeil 7.3.1 Erstellung der Symbolleiste
Pfeil 7.3.2 Code der Symbolleiste
Pfeil 7.4 Statusleiste
Pfeil 7.4.1 Erstellung der Statusleiste
Pfeil 7.4.2 Code der Statusleiste
Pfeil 7.5 Eingabe-Dialogfeld
Pfeil 7.6 Ausgabe-Dialogfeld
Pfeil 7.7 Standard-Dialogfelder
Pfeil 7.7.1 Datei öffnen
Pfeil 7.7.2 Datei speichern unter
Pfeil 7.7.3 Verzeichnis auswählen
Pfeil 7.7.4 Farbe auswählen
Pfeil 7.7.5 Schrifteigenschaften auswählen
Pfeil 7.8 Steuerelement ListView
Pfeil 7.9 Steuerelement Chart
Pfeil 7.10 Steuerelement DataGridView

Rheinwerk Computing - Zum Seitenanfang

7.10 Steuerelement DataGridView

Zur Darstellung einer einfachen Liste oder der Inhalte eines eindimensionalen Datenfelds sind Listen- und Kombinationsfelder geeignet. Die Inhalte einer Tabelle mit Zeilen und Spalten oder eines zweidimensionalen Datenfelds werden besser in einem Steuerelement vom Typ DataGridView dargestellt. Es ist auch besonders zur Darstellung von Datenbankinhalten, siehe Kapitel 8, »Datenbank-Anwendungen mit ADO.NET«, geeignet. Sie finden es in der Werkzeugsammlung im Bereich Daten.

Im nachfolgend beschriebenen Projekt DataGrid werden Eigenschaften per Code zur Laufzeit eingestellt. Sie könnten viele Eigenschaften allerdings auch schon zur Entwicklungszeit einstellen. Über das kleine Dreieck oben rechts am Steuerelement lässt sich nach dem Einfügen ins Formular und dem Markieren ein Menü öffnen, das zahlreiche Möglichkeiten bietet, siehe Abbildung 7.37.

Abbildung

Abbildung 7.37 DataGrid, Einstellmenü

Zunächst der Start-Inhalt des Grids, in Abbildung 7.38.

Abbildung

Abbildung 7.38 DataGridView, gefüllt

Es folgen die Inhalte der Form1_Load-Prozedur, die für den Start-Inhalt des Grids sorgt:

Public Class Form1
Private Sub Form1_Load(...) Handles MyBase.Load
Dim i As Integer

' Spalten hinzufügen
dgv.Columns.Add("SpName", "Name")
dgv.Columns.Add("SpVorname", "Vorname")
dgv.Columns.Add("SpPersonalnummer", "Personalnummer")
dgv.Columns.Add("SpGehalt", "Gehalt")
dgv.Columns.Add("SpGeburtstag", "Geburtstag")

' Breite einstellen
For i = 0 To dgv.Columns.Count – 1
dgv.Columns(i).Width = 75
Next

' Zeilen hinzufügen
dgv.Rows.Add("Maier", "Hans", 6714,
3500.0, "15.03.1962")
dgv.Rows.Add("Schmitz", "Peter", 81343,
3750.0, "12.04.1958")
dgv.Rows.Add("Mertens", "Julia", 2297,
3621.5, "30.12.1959")
End Sub
[...]
End Class

Listing 7.25 Projekt »DataGrid«, Einstellungen

Zur Erläuterung:

  • Das Steuerelement vom Typ DataGridView wird nachfolgend vereinfacht Tabelle genannt. Die Tabelle hat in diesem Projekt den Namen dgv.
  • Die Eigenschaft Columns ist eine Collection vom Typ DataGridViewColumnCollection und beinhaltet Informationen über alle Spalten der Tabelle.
  • Mithilfe der Methode Add() können der Collection Spalten hinzugefügt werden. Die hier genutzte Überladung dieser Methode erwartet zwei Zeichenketten-Parameter: den Namen der Spalte und den sichtbaren Text der Kopfzeile.
  • Die Eigenschaft Count der Columns-Collection liefert die Anzahl der Spalten. Eine einzelne Spalte lässt sich über einen Index ansprechen, dieser beginnt bei 0.
  • Einzelne Spalten haben wiederum Eigenschaften. Die Breite kann über die Eigenschaft Width eingestellt werden.
  • Die Eigenschaft Rows ist eine Collection vom Typ DataGridViewRowCollection und beinhaltet Informationen über alle Zeilen der Tabelle.
  • Mithilfe der Methode Add() können der Collection Zeilen hinzugefügt werden. Die hier genutzte Überladung dieser Methode erwartet einen ParamArray (siehe 4.8.5), also ein Feld beliebiger Größe, von Objekten. In diesem Falle werden jeweils fünf Informationen zu einer Person hinzugefügt.
  • Beachten Sie, dass die Zahlen für die Spalte Gehalt im Code mit Dezimalpunkt angegeben werden müssen. Ansonsten werden sie nicht alle als Double-Werte erkannt, und es kommt später beim Sortieren dieser Spalte zu einem Fehler.
  • Sie können die boolesche Eigenschaft Selected einiger Objekte auf einen der Werte True oder False stellen. Dann ist das betreffende Objekt vorausgewählt bzw. nicht vorausgewählt. Dies gilt für Rows(Index), Columns(Index) und Cells(Index) innerhalb von Rows(Index).

Hinweis: Beim Hinzufügen einer Spalte wird jeweils eine leere Zelle zum Hinzufügen eines neuen Inhalts erzeugt. Diese ist ebenfalls Bestandteil der Rows-Collection.

Es folgt die Prozedur zum Button Info Spalte:

Public Class Form1
[...]
Private Sub cmdInfoSpalte_Click(...) Handles ...
Dim i As Integer

' Name und Headertext
lblA.Text = "Name: " &
dgv.Columns("SpName").Name & ", Header: " &
dgv.Columns("SpName").HeaderText & vbCrLf
For i = 1 To dgv.Columns.Count – 1
lblA.Text &= "Name: " &
dgv.Columns(i).Name & ", Header: " &
dgv.Columns(i).HeaderText & vbCrLf
Next
End Sub
[...]
End Class

Listing 7.26 Projekt »DataGrid«, Button »Info Spalte«

Zur Erläuterung:

  • Als Index für eine einzelne Spalte lässt sich auch der Name der Spalte nutzen.
  • Die Eigenschaften Name und Headertext liefern den Namen der Spalte und den sichtbaren Text der Kopfzeile, siehe Abbildung 7.39.

Abbildung

Abbildung 7.39 Button »Info Spalte«

In der Prozedur zum Button Mittelwert werden die Inhalte einzelner Zellen ausgewertet, um den Mittelwert zu errechnen (siehe Abbildung 7.40).

Public Class Form1
[...]
Private Sub cmdMittelwert_Click(...) Handles ...
Dim i As Integer
Dim mw As Double

' Zellen auswerten
lblA.Text = ""
mw = 0
For i = 0 To dgv.Rows.Count – 2
mw += Convert.ToDouble(
dgv.Rows(i).Cells(3).Value)
Next
mw /= dgv.Rows.Count – 1
lblA.Text = "Gehalt, Mittelwert: " & mw
End Sub
[...]
End Class

Listing 7.27 Projekt »DataGrid«, Button »Mittelwert«

Zur Erläuterung:

  • Es soll der Mittelwert der Zahlen in der Spalte Gehalt berechnet werden. Dazu muss die Rows-Collection durchlaufen werden. Beachten Sie, dass die letzte Zeile (zum Hinzufügen eines neuen Inhalts) nicht mit eingerechnet wird.
  • Eine einzelne Zeile lässt sich innerhalb der Rows-Collection über einen Index ansprechen, dieser beginnt bei 0.
  • Die Zellen innerhalb einer Zeile stehen in der Collection Cells. Eine einzelne Zelle innerhalb der Cells-Collection lässt sich wiederum über einen Index ansprechen, dieser beginnt ebenfalls bei 0.
  • Der Wert einer Zelle wird über die Eigenschaft Value geliefert. Dabei handelt es sich um einen String, dieser muss umgewandelt werden.

Abbildung

Abbildung 7.40 Button »Mittelwert«

Eine letzte Prozedur reagiert auf das Ereignis Benutzer klickt auf Tabellenzelle. Dabei kann festgestellt werden, um welche Zelle es sich handelt, siehe Abbildung 7.41.

Public Class Form1
[...]
Private Sub dgv_CellClick(sender As Object,
e As DataGridViewCellEventArgs
) Handles dgv.CellClick
' Klick auswerten
lblA.Text = "Zeile: " & e.RowIndex & vbCrLf &
"Spalte: " & e.ColumnIndex & vbCrLf
If e.RowIndex >= 0 And e.ColumnIndex >= 0 Then
lblA.Text &= "Inhalt: " &
dgv.Rows(e.RowIndex).
Cells(e.ColumnIndex).Value
End If
End Sub
End Class

Listing 7.28 Projekt »DataGrid«, Klick auf Zelle

Zur Erläuterung:

  • In dem Parameter e der Ereignisprozedur vom Typ DataGridViewCellEventArgs werden u. a. Informationen über die geklickte Zelle übermittelt.
  • Die Eigenschaften RowIndex und ColumnIndex liefern den Index von Zeile bzw. Spalte zur weiteren Auswertung.

Abbildung

Abbildung 7.41 Nach Klick auf Zelle



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Visual Basic 2012






 Visual Basic 2012


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Katalog: Einstieg in Python






 Einstieg in Python


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de