Schönen guten abend euch.
Seit geschlagenen zwei Tagen probire ich das problem zu lösen und bin auch ein wenig frustriert langsam, aber ich will endlich eine Lösung. Das problem ist im Kopf ganz einfach zu lösen(wie die meisten probleme) aber an der umsetztung scheiter es, Jetzt komm ich mal zum eigentlichen punkt ->.
Ich habe eine List sagen wir mal mitglieder die zufälliger weise mitglieder verwaltet.
jedes mitglied hat Name Vorname usw. und eine eigene nummer(um die nummer geht es).
Jetzt lege ich eine neues mitglied an gebe name eine alter und den rest. Jetzt soll mir das programm automatisch eine nummer vergeben die noch nicht orhanden ist in der List. Also:
Name: Mustermann
Vorname: Max
Geboren: 12.12.1990
Nummer: 1 <- soll automatisch vergeben werden
Name: Musterfrau
Vorname: Lisa
Geboren: 12.12.1990
Nummer: 2 <- soll automatisch vergeben werden
Name: Schmid
Vorname: Mayer
Geboren: 12.12.1990
Nummer: 2 <- sowas darf nicht passiren
und wenn ich jetzt eine von den Lösche muss die nummer erhalten bleiben, also die nummer darf nicht neu vergeben werden.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57:
| public class Mitglieder { public string Vorname; public string Nachname; public DateTime Eintritsdatum; public DateTime Gültigkeit; public bool Für_immer; public int Nummer = 1; }
public static class Mitglieder_List { public static List<Mitglieder> Mg = new List<Mitglieder>();
public static void Mg_Hinzufügen(string vorname, string nachname, DateTime eintritsdatum, DateTime gültigkeit, bool für_immer, int nummer) { Mg.Add(new Mitglieder() { Vorname = vorname, Nachname = nachname, Eintritsdatum = eintritsdatum, Gültigkeit = gültigkeit, Für_immer = für_immer, Nummer = nummer}); }
public static string Ausgabe_Vorname(int i) { return Mg[i].Vorname; }
public static string Ausgabe_Name(int i) { return Mg[i].Nachname; }
public static string Ausgabe_Eintritsdatum(int i) { return Mg[i].Eintritsdatum.ToShortDateString(); }
public static string Ausgabe_Gültigkeit(int i) { return Mg[i].Gültigkeit.ToShortDateString(); }
public static string Ausgabe_Für_immer(int i) { if (Mg[i].Für_immer) { return "Ja"; } else { return "nein"; } }
public static int Ausgabe_Nummer(int i) { return Mg[i].Nummer; } } |
Meine Form: nur die Methode um es auf ein DataGridView auszugeben
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| DGV.Rows.Clear();
for (int i = 0; i < Mitglieder_List.Mg.Count; i++) { if (Mitglieder_List.Ausgabe_Für_immer(i).Equals("Ja")) { DGV.Rows.Add(Mitglieder_List.Ausgabe_Nummer(i), Mitglieder_List.Ausgabe_Vorname(i), Mitglieder_List.Ausgabe_Name(i), Mitglieder_List.Ausgabe_Eintritsdatum(i), "", Mitglieder_List.Ausgabe_Für_immer(i)); } else { DGV.Rows.Add(Mitglieder_List.Ausgabe_Nummer(i), Mitglieder_List.Ausgabe_Vorname(i), Mitglieder_List.Ausgabe_Name(i), Mitglieder_List.Ausgabe_Eintritsdatum(i), Mitglieder_List.Ausgabe_Gültigkeit(i), Mitglieder_List.Ausgabe_Für_immer(i)); } } |
vielen dank erstmal für das lesen und ansonsten noch ein schönen abend
PS: für verbesserungen sämtlicher art bin ich offen. im MVS sieht das besser aus.
Moderiert von
Kha: C#-Tags hinzugefügt