ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
3264
3264
EMPFEHLEN
-
31.10.03 14:01 #1
- Registriert seit
- Oct 2003
- Beiträge
- 9
Hallo,
habe noch eine Frage.
Kann mir jemand erklären, wie ich beim DataGrid einzelne Spalten ausblende ?
Defakto, als DataSource liegt eine Abfrage mit 10 Feldern.
Im meinem DataGrid möchte ich aber nur Spalte 1, 5 und 10 angezeigt bekommen. Ist das möglich und wenn ja wie ?
Vielen Dank
André
-
31.10.03 15:09 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Wenn Du unbedingt auf ein DataGrid angewiesen bist, könntest Du einfach die Abfrage ändern, um nur die benötigten Felder zurückzubekommen. Ich würde Dir aber empfehlen, ein ListView zu anstelle des DataGrids zu benutzen und es selbst zu füllen - dabei sollte das Ausblenden von einzelnen Spalten kein grosses Problem darstellen. Ausserdem hab ich die Erfahrung gemacht, dass ein ListView besser zu handhaben ist, als ein DataGrid, weil man da mehr Kontrolle über das Steuerelement hat.
"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
31.10.03 15:20 #3
- Registriert seit
- Oct 2003
- Beiträge
- 9
Danke dir,
allerdings habe ich keinen Plan, wie ich ein ListView richtig fülle. Mit richtig meine ich , habe eine DataView oder DataTable und wie erstelle ich mir nun ein Listview, welches diese Daten übernimmt, bzw. die gewünschten Spalten erhält ?
Danke und Gruß
André
Ps.: Anpassen der View:--- Beim erzeugen der DataView, habe ich doch nur die Möglichkeit die Tabelle, Rowfilter, Sortierung anzugeben ?! Wie kann ich denn mitgeben, welche Felder ich nur benötige ?
Per SQL würde ich ja select a,b,c from Table schreiben, aber habe keine Tabelle sondern meine Daten aus einem XML File gezogen.
-
31.10.03 15:27 #4
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Wenn Du die Daten direkt aus einer Datenbank auslesen würdest, könntest Du mit einem Recordset-Objekt arbeiten und dieses mit einer Schleife durchlaufen, um die entsprechenden Felder zum ListView-Control hinzuzufügen.
Mit XML dürfte das etwas ähnlich aussehen, nur dass Du kein komplettes Recordset-Objekt per SQL-Abfrage öffnest. Am besten gehst Du die einzelnen Nodes oder Attribute mit einer Schleife durch und füllst diese Inhalte dann in die entsprechende Spalte.
Vielleicht ist das nur meine Ansicht, aber ich denke, dass es sinnvoller ist, lieber etwas mehr Code zu schreiben, aber dafür mehr Kontrolle über das eigene Programm zu haben. Logischerweise musst Du dann mit XmlDocument, XmlNode und ähnlichen Dingen arbeiten, aber dafür passiert auch wirklich nur das, was Du willst."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
31.10.03 15:37 #5
- Registriert seit
- Oct 2003
- Beiträge
- 9
Das stimmt mich erstmal traurig
, denn das ist wirklich viel Aktion.
Mein Problem ist, das ich mich gerade an XML ran taste und mich gefreut habe, das ich DataView gefüllt bekomme.
War in der Hoffnung, das es doch noch eine easiere MEthode gibt.
Wie gesagt, vorerst würde es mir auch reichen, wenn ich die Spaltenbreite von bestimmten Feldern auf 0 setzen könnte.
Mein Problmen ist momentan eher zeitlicher Natur.
Ich danke dir sehr für deine bereits entgegengebrachte Hilfe.
Falls jemand noch einen Hinweis hat, kann er selbstverständlich diesen mir weiter mitteilen.
Grüße André
-
31.10.03 15:46 #6
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Ob man die Spaltenbreite in einem DataGrid ohne weiteres ändern kann, weiss ich jetzt nicht auswendig. Wenn es keine Eigenschaft dafür gibt, wird es aber vermutlich nicht gehen.
Aber wie gesagt: Wenn Du sowieso gerade dabei bist, die Handhabung von XML mit .net zu lernen, solltest Du die Daten "von Hand" verarbeiten. So lernst Du schneller und effektiver, wie das ganze aufgebaut ist.
Ich würd Dir auch gerne ein Beispiel dazu schreiben, aber dazu fehlt mir der Windows.Forms-Namespace..."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
31.10.03 15:48 #7
- Registriert seit
- Oct 2003
- Beiträge
- 9
Vielen Dank schon mal für deine super Hilfe.
Viele Grüße
André
-
Hallo,
wenn das ganze Datagrid nicht zur Laufzeit gefüllt wird, dann kannst du die Spalten einzeln mit "Visible" ausblenden oder mit "Lock" sperren (jede Spalte!).
Das geht aber nur, wenn du die Anbindung zum Datagrid (z.B. an eine Datenbank) über die Eigenschaften des Datagrids gemacht hast! Falls du das ganze per Code machst, (das versuche ich im Moment) dann geht es nicht! [zu mindest habe ich es bis jetzt noch nicht hin bekommen]
Grüße
Primax
Ähnliche Themen
-
Nur bestimmte Spalten im Silverlight-Datagrid anzeigen
Von orion555 im Forum .NET WPF & SilverlightAntworten: 1Letzter Beitrag: 05.09.10, 22:52 -
DataGrid-Spalten automatisch anpassen
Von broetchen im Forum .NET Windows FormsAntworten: 3Letzter Beitrag: 09.09.05, 12:30 -
Spalten im DataGrid anpassen
Von speedy78 im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 13.04.05, 11:17 -
zellen im datagrid ausblenden bzw. keinen Inhalt anzeigen
Von shok im Forum .NET ArchivAntworten: 1Letzter Beitrag: 07.06.04, 15:57 -
Spalten verstecken im DataGrid
Von LordDeath im Forum .NET ArchivAntworten: 7Letzter Beitrag: 21.04.04, 14:26





Zitieren
Login





