Problem mit ListView

warcraft9105

Erfahrenes Mitglied
Hallo, ich habe noch fast keine Erfahrung mit C++ bzw. .NET Anwendungen und komme jetzt einfach nicht mehr weiter. Könnt ihr mir vll helfen?
Erst mal ein Teil des Codes:
Code:
#pragma endregion
    private: System::Void listView1_ItemSelectionChanged(System::Object^  sender, System::Windows::Forms::ListViewItemSelectionChangedEventArgs^  e) 
             { 
                listView2->Items->Clear();
                DelimitedFile^ preise = gcnew DelimitedFile();
                DelimitedFile^ gerichte = gcnew DelimitedFile();
                if(gerichte->readFromFile("Gerichte.txt" , ';'))
                {
                    for (int i = 0; i < gerichte->getCount(); i++)
                    {
                        String^ gericht_ID = gerichte->getFieldValue(i,3);
                        for (int j = 0; j < preise->getCount(); i++)
                        {
                            String^ preis_ID = preise->getFieldValue(j,0);
                            if (gericht_ID == preis_ID)
                            {
                                ListViewItem^ gerichtdaten = listView2->Items->Add(gerichte->getFieldValue(i,1));
                                gerichtdaten->SubItems->Add(preise->getFieldValue(j,3));
                            }
                        }
                    }
                }
                else
                    MessageBox::Show("Fehler beim Lesen von Gerichte.txt!");
             }
};

So nun das Problem:
Er schreibt mir nichts mehr in die ListView
 
Hallo warcraft9105,

ich verstehe bei der folgenden Zeile zwar, was du willst, allerdings verstehe ich nicht, warum er keine Fehlermeldung gibt:

Code:
ListViewItem ^ gerichtdaten = listView2->Items->Add(gerichte->getFieldValue(i, 1));
Die Add-Funktion besitzt nämlich keinen Rückgabeparameter (d.h. sie ist void deklariert). Ersetze mal alles innerhalb von if(gericht_ID == preis_ID) durch den folgenden Code:

Code:
ListViewItem ^ gerichtdaten = gcnew ListViewItem(gerichte->getFieldValue(i, 1));
gerichtdaten->SubItems->Add(preise->getFieldValue(j, 3));
listView2->Items->Add(gerichtdaten);
Falls er dann immernoch keine Einträge hinzufügt, solltest du mal überprüfen, ob gericht_ID tatsächlich irgendwann einmal gleich preis_ID ist.

Gruß
PhoenixLoe
 
Ich habe den Fehler gefunden, d.h. es gab keinen Fehler, es war ein Fehler von Visual Studio das eine alter Version des Programms ausführte. Ich hab das Projekt einfach neu erstellt und schon hats funktioniert. Danke trotzdem
 
Ich war mal so frei und hab das Thema etwas treffender bezeichnet. So hilft es vielleicht auch anderen Usern.

MFG

Sascha
 
Zurück