DataGridView

28/10/2007 - 21:15 von fsimm | Report spam
Hallo Newagroup!

Ich möchte in einer DataGridView oder (ListView) Daten gruppiert
anzeigen, so wie dies mit dem MSFlexGrid in VB6 möglich war. Die
Möglichkeit, es über eine Relation zwischen 2 Tabellen zu realisieren
kenne ich, ist für mich aber nicht das gelbe vom Ei.
Exemplarisches Beispiel:
Ich möchte in der ersten Spalte einen Autor stehen haben und in den
Spalten danach in einer oder mehreren Reihen die Daten seiner Bücher.
Kann mir jemand einen Tipp geben, wie das mit vertretbarem Aufwand
geht? Übrigens, der Zielrechner, auf dem die Applikation laufen soll,
hat als Betriebssystem WIN2K. Angeblich gibt es da hinsichtlich der
DataGridView-Klasse einige Einschrànkungen.

lg. F.Simmer
 

Lesen sie die antworten

#1 Peter Götz
29/10/2007 - 09:43 | Warnen spam
Hallo F.

Ich möchte in einer DataGridView oder (ListView)
Daten gruppiert anzeigen, so wie dies mit dem
MSFlexGrid in VB6 möglich war.



Du meinst vermutlich eine hierarchische Darstellung,
von Master-Detail-Daten, wie sie mit dem MSHFlexGrid
aber so direkt mit dem DataGridView nicht möglich ist.
Das àltere DataGrid kann Daten hierarchisch geordnet
darstellen, erfordert jedoch für die Darstellung der
Detaildaten jeweils einen Mausklick auf das
"+" -Symbol in der Masterzeile. Eine solche Ansicht
àhnelt weniger einer hierarchischen Darstellung im
MSHFlexGrid sondern eher der Darstellung der
Daten aus verknüpften Tabellen in der Tabellenansicht
von Access.

Die Möglichkeit, es über eine Relation zwischen 2
Tabellen zu realisieren kenne ich, ist für mich aber
nicht das gelbe vom Ei.



Wàre für eine direkte Hierarchieansicht aber mit
dem DataGridView sehr einfach zu realisieren.

Exemplarisches Beispiel:
Ich möchte in der ersten Spalte einen Autor
stehen haben und in den Spalten danach in
einer oder mehreren Reihen die Daten seiner
Bücher.



Angenommen es gibt eine DB-Tabelle "tblAutoren"
mit den Feldern "ID", "Vorname" u. "Nachname"
und eine DB-Tabelle "tblBuchTitel" mit den Feldern
"ISBN", "AutorID", "Titel", dann wàre das
im einfachsten Fall mit einem Select-Statement
in der folgenden Art darstellbar

SELECT
tblAutoren.VorName,
tblAutoren.NachName,
tblBuchTitel.Titel
tblBuchTitel.ISBN
FROM
tblAutoren
INNER JOIN tblBuchTitel
ON tblAutoren.ID = tblBuchTitel.AutorID
ORDER BY
tblAutoren.NachName,
tblBuchTitel.Titel;

Kann mir jemand einen Tipp geben, wie das mit
vertretbarem Aufwand geht? Übrigens, der
Zielrechner, auf dem die Applikation laufen soll,
hat als Betriebssystem WIN2K. Angeblich gibt
es da hinsichtlich der DataGridView-Klasse
einige Einschrànkungen.



Ich habe eine ganze Reihe von Anwendungen auch
auf Rechnern mit Win2k laufen, die regen Gebrauch
vom DataGridView machen. Irgendwelche
Einschrànkungen bezgl. des DataGridView sind mir
dabei noch nicht aufgefallen. Solche Einschrànkungen
wàren auch nicht wirklich erklàrbar, da das FW2.0 auf
Win2k ebenso wie auf jüngeren Windows-Versionen
wie XP und Vista die Voraussetzung für die Nutzung
des DataGridView ist. Beispiele mit dem DataGridView
und auch mit dem àlteren DataGrid findest Du unter

www.gssg.de -> Visual Basic -> VB.net


Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen