verwendetes Datenbanksystem: Postgres
Hi@all...
ich hoffe ich bin im richtigen Forum. Wenn nicht bitte verschieben.
Es geht um Folgendes :
Ich habe eine Klasse die eine List<> von einer anderen Klasse enthält. Etwa so :
class Probe
{
public string Journalnummer;
public string Schale;
public List<Messung> messungen;
}
class Messung
{
public string name;
public string ergebnis;
}
Beispiel mit Daten:
Probe probe1 = new Probe();
probe1.Journalnummer = "1002";
probe1.Schale = "A1"
Messung messung1 = new Messung();
messung1.name = "Leer";
messung1.ergebnis = "11.11";
Messung messung2 = new Messung();
messung2.name = "Voll";
messung2.ergebnis = "11.11";
probe1.messungen.add(messung1);
probe1.messungen.add(messung2);
Probe probe2 = new Probe();
probe2.Journalnummer = "1003";
probe2.Schale = "A4"
Messung messung3 = new Messung();
messung3.name = "Leer";
messung3.ergebnis = "11.11";
Messung messung4 = new Messung();
messung4.name = "Verbrannt";
messung4.ergebnis = "11.11";
probe2.messungen.add(messung3);
probe2.messungen.add(messung4);
Jetzt würde ich gerne in einer Tabelle wie die im Anhang haben. Also für jede Messung in der Liste muss (wenn nicht schon von einer anderen Probe erstellt) eine Spalte erstellt werden. Am besten noch mit DataBinding, dass die Messungen beim Eintragen automatisch in der Probe erstellt werden.
In meinem Beispiel fehlt z.B. bei der zweiten Probe der "Voll" Wert aber ein "Verbrannt" werd ist hinzugekommen der wiederum in der ersten Probe fehlt.
Ich hoffe ich habe mein anliegen klar ausgedrückt. Ich hab auch schon sehr viel über Google und im Forum gesucht. Aber ohne erfolg.. Kennt jemand eine Möglichkeit dies zu realisieren?
Da die namen der Messungen dynamisch sind wird das wahrscheinlcih sehr schwer.
Sind nur die drei Namen (verbrannt, voll, leer) vorhanden so würde ich ein neues Objekt, das aus Journalnummer, Schale, leer, voll und verbrannt besteht, ertellen und dieses in eine Liste stecken und anzeigen lassen.
Ansonsten muß das ganze komplett generisch sein.
Ansonsten muß das ganze komplett generisch sein.
Genau. Das ist das Problem.
Ich habe nichtmal ansatzweise eine Idee wie ich es realisieren könnte.
Hi,
ich würde das so machen*die Daten in eine Liste oder Tabelle schreiben (z.B. myTable) *Journalnummer und Schale hast du ja immer, als kann man die direkt reinschreiben *dann gehst du alle Items der liste Messungen durch und kontrollierst bei jedem Item ob diese Spalte schon in myTable existiert. Wenn ja, dann einfach den wert da hineinschreiben. Wenn das nicht so ist, dann musst du der Table eine neue Spalte hinzufügen. In diese schreibst du dann den Wert *hast du ein objekt der Klasse Probe durch, so gehts direkt mit dem nächsten weiter. Die Prozedur beginnt also von vorne. Dabei musst du bei der myTable natürlich eine neue Zeile nehmen, damit die Werte nicht überschrieben werden. *Am ende musst du die Datenquelle natürlich noch an den DataGridView binden =)
Ich hoffe, dass ich dir ein wenig helfen konnte
mfg
Michael
Am ende musst du die Datenquelle natürlich noch an den DataGridView binden =)
Genau diese möglichkeit würde ich mir doch dann nehmen?!?! Mit Databinding hat das ja nichts mehr zu tuen. Und mit einem DataAdapter kann ich dann auch nichtm ehr arbeiten?!?!
Hi,
Genau diese möglichkeit würde ich mir doch dann nehmen?!?! Mit Databinding hat das ja nichts mehr zu tuen. Und mit einem DataAdapter kann ich dann auch nichtm ehr arbeiten?!?!
Wieso denn nicht.
Du kannst ja einfach eine DataTable oder auch ein anderes Objekt als Datenquelle des DataGridViews festlegen.
Damit brauchst du die Daten dann nicht direkt (manuell) in den DataGridView schreiben.
Gruss
Michael
Das ist mir klar. Die Daten liegen jedoch nicht in einer Datatable sondern in Objekten vor (siehe Oben). Also müsste ich die Daten zuerst aus den Objekten in eine Datatable kippen.
Ich glaub ich hab eine echt tolle Lösung gefunden. Wenn alles funzt und ich genug Zeit habe stell ich sie hier noch rein.