Array von ListViewItem oder Array übergeben!



  • Hallo ich versuch eine Tabelle via ListViewItem zu realisieren.
    Mein Problem:

    Ich hab eine relativ datenreiche Tabelle, die Daten werden bei mir Derzeit in einem Array gespeichert.
    Nur ich habe keine ahnung wie ich z.b.: 100 ListViewItem's in einer Schleife erstelle.

    ein Beispiel.:

    array<ListViewItem^> ^listViewItem = gcnew array<ListViewItem^>(100);
    

    Wie kann ich meinem Objekt listViewItem jetzt noch einen Wert zuweisen? z.b.: meinen Array!
    Diesen Aufruf kann ich ja nicht in einer Schleife machen sonst erstelle ich ja etliche Arrays von listViewItem
    normalerweise macht man das ja direkt beim Aufruf z.b.: so:

    ListViewItem^ item1 = gcnew ListViewItem( "item1",0 );
    

    Ich habs auch so probiert, aber ListViewItem möchte keinen Array-String:

    array<String ^> ^listViewItem;
    
    			for(int i=1; i<=100; i++)
    			{
    				ListViewItem^  listViewItem[i] = (gcnew ListViewItem(gcnew array< String^  >(3) {L"Array1", 
    				L"Array2", L"Array3"}, -1));
    			}
    

    gruß Dingsda



  • Erstelle die ListViewItems und benutze dann die SubItems Collection der ListViewItems um deine Strings reinzufüllen.

    http://msdn.microsoft.com/en-us/library/system.windows.forms.listviewitem.aspx

    Simon



  • Ok hab ich probiert, funktioniert aber leider noch nicht, brauch jemanden der mir auf die Sprünge hilft.

    array<System::Windows::Forms::ListViewItem^> ^listViewItem = gcnew array<System::Windows::Forms::ListViewItem^>(10);
    
    for(int i=1; i<=4; i++)
    {
         listViewItem[i]->SubItems->Add("Hallo");
    }
    
    [...]
    
    this->listView1->Items->AddRange(listViewItem);
    

    Hab auch schon

    array<ListViewItem^>^temp1 = {listViewItem[1],listViewItem[2],listViewItem[3],listViewItem[4]};
    this->listView1->Items->AddRange( temp1 );
    

    probiert, selbe fehler

    "System.NullReferenceException" ist in System.Windows.Forms.dll aufgetreten.
    
    Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
    

    pls help 😞



  • int i=0;
    for each (String^ str in pc->pCaption)
    {
    
    ListViewItem^ listViewItem = gcnew ListViewItem(pc->pCaption[i]);
    
    listView1->Items->Add(listViewItem);
    i++;
    
    }
    

    So habs endlich 😃
    for each heißt die Lösung! Damit kann ich für jedes Array ein listViewItem erstellen *muss man erstma drauf kommen*

    gruß Dingsda


Anmelden zum Antworten