Autor Beitrag
Realnub
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

Win XP
VS 2005
BeitragVerfasst: Mi 19.03.08 11:54 
Hi,

ich beschäftige mich seit kurzen mit Visual C#.net. Nach Grundlagenstudium und einlesen in den OOP Charakter dieser Sprache habe ich begonnen eine kleine Anwendung zusammen zu basteln. (siehe Anhang gui.jpg)

Ich habe mit Textboxen, Comboboxen und Co. ein kleines Formular zusammengestellt. Die Comboboxen erhalten ihren Inhalt aus einer MySQL DB und stehen in abhängigkeit. Nachdem das Formular abgeschickt ist (Button "Hinzufügen") möchte ich die Daten im DataGridView anzeigen lassen. Einfach als Kontrolle für den User. Er soll erst seinen Stapel Daten eingeben, Alles komplett nochmal ansehen, notfalls ändern oder löschen können und danach Alles abschicken (Button "Speichern").
In der Datenbank speichere ich aber andere Werte ab als für den User sichtbar. Ich brauche also eine Datenstruktur im Hintergrund, die sich den sichtbaren Daten anpasst - z.b. wenn der User eine Zeile im DataGridView löscht.

Meine Fragen dazu sind:

Ist das DataGridView das richtige Element für mich? - ich möchte die Daten einfach nur optisch mittels einer Tabelle wiedergeben und es sollte möglich sein Buttons in eine Tabellenzelle zu bekommen (btw kann mir Jemand einen Tip geben wie das geht?).

Ist das DataSet für die Datenhaltung im Hintergrund das richtige ELement oder sollte ich alles über Arrays oder ArrayLists machen?

Danke schon mal für Eure Hilfe.

Markus

P.S. Bin neu hier, das ist mein erster Post - Ich hoffe, er ist nicht komplett falsch plaziert.
2.P.S. Ich nutze als Dokumentation das Openbook vom Galileo Verlag, sowie Visual C#.NET vom Hanser Verlag -> welche Bücher oder Online Dokumentationen könnt ihr mir empfehlen, die über Grundlageninformationen hinaus gehen, die sich mit dem Anwenden der "Basics" beschäfftigen.


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Mi 19.03.2008 um 11:06
Einloggen, um Attachments anzusehen!
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 19.03.08 14:32 
Hallo Markus,
user profile iconRealnub hat folgendes geschrieben:
Ist das DataGridView das richtige Element für mich? - ich möchte die Daten einfach nur optisch mittels einer Tabelle wiedergeben und es sollte möglich sein Buttons in eine Tabellenzelle zu bekommen (btw kann mir Jemand einen Tip geben wie das geht?).

Das DGV ist grundsätzlich geeignet. Was Du mit den "Buttons in eine Tabellenzeile zu bekommen" meinst und machen willst, ist mir allerdings unklar. (Ich habe mich freilich auch noch nicht mit DataGridViewButtonCell befasst.) Es wird nur dann etwas komplizierter, wenn Nachschlagewerte in DataGridViewComboBoxCell benutzt werden, denn grundsätzlich kann sich das DGV nur auf eine Tabelle beziehen; eine Kurzanleitung dazu gibt es z.B. über DataGridView: Master/Detail über ComboBox

user profile iconRealnub hat folgendes geschrieben:
Ist das DataSet für die Datenhaltung im Hintergrund das richtige ELement oder sollte ich alles über Arrays oder ArrayLists machen?

Arrays niemals, weil diese eine feste Größe haben (mir fällt keine sinnvolle Ausnahme von dieser Regel ein). ArrayList oder List<T> sind bei eigenen Klassen geeignet. Für Daten, die zu einer Datenbank gehören, ist DataSet/DataTable genau das richtige Mittel: Tabellen in der Datenbank, DataTable im Arbeitsspeicher. Das DGV (oder TextBox usw. mit DataBinding) stellt dann die Daten für den Benutzer zur Verfügung.

user profile iconRealnub hat folgendes geschrieben:
2.P.S. Ich nutze als Dokumentation das Openbook vom Galileo Verlag, sowie Visual C#.NET vom Hanser Verlag -> welche Bücher oder Online Dokumentationen könnt ihr mir empfehlen, die über Grundlageninformationen hinaus gehen, die sich mit dem Anwenden der "Basics" beschäfftigen.

Diese Informationen sind schon gut geeignet. In erster Linie empfehle ich die Offline-Version der SDK-Doku, die während der Installation des NET-SDK auf Wunsch eingerichtet wird.

Viel Erfolg! Jürgen
Realnub Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

Win XP
VS 2005
BeitragVerfasst: Mi 19.03.08 14:47 
Danke

Ich werde mir dann mal den Link zu gemühte führen und deine Ratschläge verfolgen.
Realnub Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

Win XP
VS 2005
BeitragVerfasst: Mi 19.03.08 23:27 
Hiho, ich bins noch mal und ich hoffe der Thread finded noch genug Beachtung, so dass mir jemand helfen kann bei meinem jetztigen Problem.

Ich würde gerne meinem Datagridview pro Zeile 2 Buttons adden. einem zum Löschen und einen zum Ändern der Inhalte der Zeile. wie mache ich das? wie bekomme ich Buttons in ein DataGridView und dann auch noch dynamisch?
3Huete
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Do 20.03.08 12:22 
user profile iconRealnub hat folgendes geschrieben:
Ich würde gerne meinem Datagridview pro Zeile 2 Buttons adden. einem zum Löschen und einen zum Ändern der Inhalte der Zeile. wie mache ich das? wie bekomme ich Buttons in ein DataGridView und dann auch noch dynamisch?

Warum willst Du in jeder Zeile des Grids einen oder mehrere Button plazieren? Füge doch einfach unterhalb des Grids eine Toolstrip ein oder einen BindingNavigator (ganz nach Belieben). Dem Toolstrip kannst Du beliebig viele Buttons hinzufügen und mit entsprechender Funktionalität versehen. Der BindingNavigator bringt die Funktionen, die Du willst schon mit.
Wenn es nur eine Tabelle ist, brauchst Du nicht unbedingt gleich ein DataSet, da tut es auch eine DataTable.
Gruß
Realnub Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

Win XP
VS 2005
BeitragVerfasst: Do 20.03.08 17:09 
Die Buttons im DGV sollen ja dafür dienen, die gleiche Zeile zu löschen oder eben zu ändern. Ich finde das intuitiver so.

Wie ich das bewergstellige, konnte ich immer noch nicht in Erfahrung bringen. Geht das überhaupt? hat Jemand vielleicht einen Beispielcodefetzen?

*edit*
hat sich geklärt, das DGV bietet ja von hause aus diese Möglichkeit, das wolltet ihr mir auch sagen, ich habs nur nciht verstanden :)
Danke trotzdem