ListView Doppelklick



  • Hallo....

    und zwar hab ich das Problem, dass ich ein Listview Feld habe. Das besitzt 8 Columns. Wenn ich doppelklick auf eine Zeile mache, dann öffnet sich nen neues Formular und jedes einzelne Column aus einer Zeile soll sich dann in das dazugehörige Textfeld schreiben. Alleridngs geschieht das nur bei bei dem letzten Eintrag jeweils, Wieso?

    Wo hab ich da einen Denkfehler?

    if(lvMember->Selected)
    {
      Form1->Visible = true;
      Form1->n2_nr->Text = main->ListevView->Selected->Caption;
    
      for(int x=0;x<entry;x++)
     {
    
        if(daten[x][1] == main->ListevView->ItemIndex)
       {
    
         Form1->n2_nachname->Text=daten[x][2];  //die Textfelder + Arrayplatz
         Form1->n2_name->Text=daten[x][3];
         Form1->n2_strasse->Text=daten[x][4];
         Form1->n2_plz->Text=daten[x][5];
         Form1->n2_ort->Text=daten[x][6];
         Form1->n2_Eintritt->Text=daten[x][7];
         Form1->n2_Gebuehren->Text=daten[x][8];
    
           }
    
         }
    
      }
    }
    


  • Tschuldigung vergessen zu erklären.....

    for(int x=0;x<entry;x++) //entry is die ganze Anzahl von Arrayeinträgen
    


  • Warum hantierst du eigentlich mit dem Array herum, du hast die Daten doch offensichtlich im ListView stehen und könntest über die (Sub)Items direkt darauf zugreifen?

    Und was konkret meinst du mit "nur bei bei dem letzten Eintrag jeweils"?

    [ Dieser Beitrag wurde am 10.05.2003 um 20:12 Uhr von Jansen editiert. ]



  • also ich hole vorher die ganzen Daten aus ner Textdatei und deswegen speicher ich die Daten in nem Array.... und deswegen diese Sachen mit dem Array...

    das mit den Letzen meine ich so, dass wenn ich inner 5 Zeile nen Doppelklick durchführe, der trotzallem nur den letzten Eintrag auswählt, und das bei jedem doppelklick so. Egal welche Zeile, immer die letzte Zeile wird kompülett in die Felder eingetragen.... 😕



  • Naja, ich zeig dir mal, wie man sowas "normalerweise" macht. 😉

    TListItem *li = main->ListevView->Selected;
      Form1->n2_nr->Text = li->Caption;
      Form1->n2_nachname->Text = li->SubItems->Strings[0];
      ...
      Form1->n2_Gebuehren->Text = li->SubItems->Strings[6];
    


  • @Michael

    WOZU NIMMST DU NE SCHLEIFE???

    Du brauchst nur mit ListView->Selected auf das markierte TListItem zugreifen!

    Caption und SubItems wie Jansen sagt!


Anmelden zum Antworten