Guten Morgen, für eine C# Anwendung sollen Daten in eine Tabelle visualisiert werden. Welche Möglichkeiten gibt es eine einfache Tabelle zu erzeugen?
Anwender schrieb: > Welche Möglichkeiten gibt es eine einfache Tabelle zu erzeugen? Externe Tabelle? Daten in eine Datei schreiben, mit ';' trennen und die Datei als *.csv abspeichern? ...Wäre eine Möglichkeit.
Anwender schrieb: > Welche Möglichkeiten gibt es eine einfache Tabelle zu erzeugen? Meinst du "mit Tabelle zu erzeugen" das sichtbare Gitter in der Anwendung? Ist die Anwendung eine Windows Form? Dann finde im Toolbox das DataGridView Objekt. Die Daten selbst müssen in einem DataSet sein. Google Stichworte: C#, DataSet, DataGridView
Anwender schrieb: > für eine C# Anwendung sollen Daten in eine Tabelle visualisiert werden. > Welche Möglichkeiten gibt es eine einfache Tabelle zu erzeugen? Weißt du, früher™ haben sich die Schüler wenigstens noch die Mühe gemacht und die Frage der Hausaufgabe in eigenen Worten gestellt.
Anwender schrieb: > Ich werde das mit ListView versuchen. Liste != Tabelle Und falls du es doch anders machen möchtest: https://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_25_004.html
:
Bearbeitet durch User
Ozvald K. schrieb: > Ist die Anwendung eine Windows Form? Dann finde im Toolbox das > DataGridView Objekt. Ja, das ist i.d.R. die beste Lösung für diesen Fall. > Die Daten selbst müssen in einem DataSet sein. Nein, nicht unbedingt. Man kann ein DataGridView notfalls auch zellenweise von Hand befüllen. Oder auch aus einer DataTable oder sogar aus einem Array von Irgendwas, solange dieses Irgendwas nur "browser-visible" Eigenschaften hat und diese von einem Typ sind, der sich irgendwie als String, Zahl oder Bool darstellen kann. Also diese Datagridview kann so ziemlich mit allem umgehen, was irgendwie nach tabellarischen Daten aussieht. Und mehr... Aber genau diese Universalität macht das Teil leider auch recht langsam. Selbst im "virtuellen" Betrieb (es werden nur Zellen aktualisiert, die aktuell sichtbar sind) kommt man bei heutigen Bildschirmgrößen leicht in Bereiche, in denen das deutlich merkbar störend ist.
Datagridview ist fein. Das kannst du Gebunden anwenden ODER ungebunden. Gebunden = Du weist jeder Spalte eine Spalte einer Datenbank-Tabelle zu. Du erstellst eine Abfrage der DB und weist diese Abfrage den Datagridview zu. Das sind ca. 10-15 Zeilen. Ungebunden = Du erstellst die Tabelle per Programm oder im Designer. Und fütterst du Daten per Programm von Hand. Was sehr sinnvoll ist bei Auswertungen. Ich erstelle meist Spaltenüberschriften, Schriftarten und Formatierungen im Designer und den Rest per Programm. Ich habe in meinen Programmen schon Datagridviews benutzt die man nicht als solche Erkannt hat. Grund: Ich musste eine Brechnnung für eine Unfallermittlung darstellen und war zu Faul 20 Label-Felder (Beschreibung) + 20 Text Felder (Wert) + 20 Label-Felder (Einheit) zu stellen. Bevor einer fragt: Ich hab keine Ahnung von Umfallermittlung. Aber ich kann fast JEDE Formel in eine Software umwandeln die mir ein Spezialist gibt. Was ich damit sagen will die Teile sind wenn man es richtig macht, so fein das es kaum eine Software von mir gibt wo keine drin sind.
Schlaumaier schrieb: > Was ich damit sagen will die Teile sind wenn man es richtig macht, so > fein das es kaum eine Software von mir gibt wo keine drin sind. If all you have is a hammer everything looks like a nail.
c-hater schrieb: > Aber genau diese Universalität macht das Teil leider auch recht langsam. > Selbst im "virtuellen" Betrieb (es werden nur Zellen aktualisiert, die > aktuell sichtbar sind) kommt man bei heutigen Bildschirmgrößen leicht in > Bereiche, in denen das deutlich merkbar störend ist. Wenn man das Datagrid beim Befüllen großer Datenmengen ausblendet, hat man auch einen erheblichen Geschwindigkeitsvorteil. Gerade das Befüllen und vor allem das automatische Neuzeichnen des Grids bei jeder Änderung bremst gewaltig.
:
Bearbeitet durch User
Heinz B. schrieb: > Gerade das > Befüllen und vor allem das automatische Neuzeichnen des Grids bei > jeder Änderung bremst gewaltig. Das trifft im UNgebundenen Modus leider zu. Aber das kann man umgehen. Ich setze es immer enable = false und ein Label drüber. "Daten werden aktualisiert. Wenn fertig ein REFRESH Befehl und das Label ausblenden. Ist aber erst so ab ca. 800 Zellen nötig die man füllen muss. Im GEbundenen Modus ist das Teil selbst bei weit über X-1000 Datensätzen noch schnell genug. Aber wer füttert schon mehr als 800 Zellen "von Hand". ??? Das musste ich nur 1 x machen seit ich mit den Teil arbeite, und das ist schon ewig her. Davon abgesehen. Wenn ich EXCEL als Daten-Ausgabe-Teil einsetzte (via INTEROP) ist es auch nicht viel schneller, fast noch langsamer. Aber man kann per INTEROP schönere Diagramme machen .;)
DataSet ist ist eine Katastrophe. Das geht auch mit einer BindingList ohne Probleme. Und bevor man es sich antut, die Tabelle (Datagridview) per Hand zu befüllen (Schleife Schleife), sollte man sich mal mit dem Databinding auseinandersetzen. Da passiert alles von selbst. Ok, ein paar Binding-Routinen muss man noch implementieren, aber dann läuft alles flüssig. WPF könnte man noch probieren, aber da ist die Einarbeitungszeit ziemlich hoch.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.