Datagrid Spalten ausblenden

Tüv-Killer

Grünschnabel
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é
 
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.
 
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.
 
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.
 
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é
 
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...
 
Datagrid Felder ausblenden!

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
 

Neue Beiträge

Zurück