Entwickler-Ecke
WinForms - Objektorientierte Datenbank mit List in Klassen aufbauen
master147 - Sa 13.04.13 21:51
Titel: Objektorientierte Datenbank mit List in Klassen aufbauen
Hallo,
ich wollte mal gerne ein Beispielprojekt machen, indem ich Daten von Benutzern in Listen speichere und wieder ausgeben kann. Das ganze möchte ich in einer Klasse Benutzer realisieren. Dort sollen die Daten in der Liste gespeichert werden.
Leider habe ich noch keine Ahnung wie ich Daten die über die Form eingegeben werden in einer Liste speichere und wieder ausgebe.
Könntet ihr mir vielleicht mal ein Beispielprojekt oder einen Pseudocode zeigen, damit ich weiß wie ich so etwas realisieren kann ?
Vielen Dank !
Christian S. - So 14.04.13 11:33
Hallo!
Also sagen wir mal, Du hast auf dem Formular Textboxen für Vor- und Nachname (
tbVorname und
tbNachname). Und Du hast eine Klasse Benutzer, die so aussieht:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| public class Benutzer { public string Vorname { get; private set; } public string Nachname { get; private set; }
public Benutzer(string vorname, string nachname) { this.Vorname = vorname; this.Nachname = nachname; }
public override string ToString() { return Vorname + " " + Nachname; } } |
Dann kannst Du in einem Button (z.B. "Benutzer hinzufügen) eine neue Instanz eines Benutzers in eine Liste eintragen:
C#-Quelltext
1: 2:
| var benutzer = new Benutzer(tbVorname.Text, tbNachname.Text); database.Add(benutzer); |
Jetzt muss man sich noch Gedanken drum machen, was für eine Liste man als
database verwendet. Ich würde eine Liste verwenden, die ohne mein Zutun der GUI sagt, wenn sich etwas geändert hat, wenn als ein Element hinzugefügt oder entfernt wurde. Da bietet sich in WinForms die
BindingList<T> an:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| private BindingList<Benutzer> database = new BindingList<Benutzer>();
public Form1() { InitializeComponent();
listBox1.DataSource = database; } |
Mit dem Code sollte jetzt beim Hinzufügen eines neuen Benutzers dieser automatisch in der Listbox erscheinen.
Grüße,
Christian
master147 - So 14.04.13 13:52
Vielen Dank Christian!
gibt es auch eine Möglichkeit die Liste zu durchsuchen, denn leider habe ich database.search nicht gefunden ?
master147 - So 14.04.13 15:06
Kann ich mit der Methode Contains denn auch das Objekt und die dazugehörigen Daten (Adresse, Ort ... ) mit anzeigen lassen ?
Ralf Jansen - So 14.04.13 15:14
Was hat suchen/finden mit dem anzeigen zu tun? Contains prüft nur ob ein Objekt in der Liste ist sonst nichts. Wenn du das Objekt hast kannst du alles damit tun und lassen was dir beliebt.
master147 - So 14.04.13 15:34
Naja, vielleicht habe ich mich etwas falsch ausgedrückt. Ich wollte in meiner Liste einen Benutzer finden und ihn samt seiner Daten in einer Textbox anzeigen lassen.
Aber wie kann ich denn, wenn ich das Objekt gefunden habe die Daten anzeigen lassen ?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!