Laden...

ObservableCollection mit Umterklasse ObservableCollection auslesen

Erstellt von echdeneth vor 3 Jahren Letzter Beitrag vor 3 Jahren 400 Views
echdeneth Themenstarter:in
161 Beiträge seit 2019
vor 3 Jahren
ObservableCollection mit Umterklasse ObservableCollection auslesen

Moin, ich wusste nicht genau wie ich mein Problem in der Überschrift beschreiben sollte...

Ich habe eine Observablecollection(OC) namens VersandDaten.
die Klasse enthält als Propertys wiederum eine OC (Versandpositionen) und eine Klasse mit Name/Anschrift etc.

Num muss ich für den Export in eine XLS jede Versandposition mit der Zugeordneten Adresse versehen.

Mein Ansatz:


            foreach (var item in VersandListeData)
            {
                
                foreach (var v in item.VersandDaten)
                {
// hier dann die Zeilen und Spalten für eine Klasse zusammenstellen mit welcher die XLSX befüllt werden kann.
                }
            }

Nur, mein Ansatz mit var v in item.VersandDaten funktioniert nicht, hat jemand eine Idee?
Ich möchte nur ungern jede Versandposition mit Adresse versehen.
Ich hoffe mich verständlich formuliert zu haben.

Danke

"Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher." Albert Einstein

5.658 Beiträge seit 2006
vor 3 Jahren

Was heißt "funktioniert nicht"? Welche Fehlermeldung bekommst du?

Siehe dazu [Hinweis] Wie poste ich richtig?, Punkt 5 "Problem genau beschreiben - inkl. genauer Fehlermeldung - und konkrete Fragen stellen"

Weeks of programming can save you hours of planning

echdeneth Themenstarter:in
161 Beiträge seit 2019
vor 3 Jahren

Fehlermeldung: "Eine foreach-Anweisung kann nicht für Variablen vom Typ "MainViewModel.VersandDaten" verwendet werden, weil "MainViewModel.VersandDaten" keine öffentliche Instanz- oder Erweiterungsdefinition für "GetEnumerator" enthält."

"Wie poste ich richtig" ist manchmal schwer das Thema in den wenigen Worten zu formulieren...

Habe die Lösung:

           
 foreach (var item in VersandListeData)
            {
                var v = item.VersandDaten;
                foreach (var oc in item.OC) // <- musste auf die OC zugreifen...
                {
                    _octoXLSX.Add(new OCtoXLSX
                    {
                        ... // Hier wird VersandListeData für das schreiben in die XLSX aufbereitet
                    });
                }
            }

Gibt es Erfahrungswerte wie man per foreach z.B. eine OC in die Zellen schreibt?

"Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher." Albert Einstein

5.658 Beiträge seit 2006
vor 3 Jahren

Mit foreach kann man jede Auflistung durchlaufen, die das IEnumerable- bzw. das generische IEnumerable<T>-Interface implementiert. Und ObservableCollection<T> implementiert IEnumerable<T>.

Die Eigenschaft VersandDaten, die du durchlaufen willst, ist aber vom Typ MainViewModel.VersandDaten, und diese implementiert nicht IEnumerable, das sagt die Fehlermeldung.

PS:

"Wie poste ich richtig" ist manchmal schwer das Thema in den wenigen Worten zu formulieren...

Die Fehlermeldung und den entsprechenden Code-Ausschnitt zu posten, ist schon irgendwie notwendig, um dir in einem Forum weiterhelfen zu können.

Weeks of programming can save you hours of planning