ListView und Clear



  • Hallo Leute

    Ich habe ein Problem mit ListView und Clear.

    void __fastcall TForm1::E19Change(TObject *Sender)
    {
        W19 = StrToFloat(E19->Text);
        Z19 = W19*10*65536;
        D19 = Z19;
        H19 = IntToHex(D19,1);
        TerminalTime->Enabled = true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::TerminalTimeTimer(TObject *Sender)
    {
            TerminalTime->Enabled = false;
            TListItem  *ListItem;
            ListItem = Controll->Items->Add();
            ListItem->Caption = "19";
            ListItem->SubItems->Add(D19);
            ListItem->SubItems->Add(H19);
    
    }
    

    Ich will die werte beim eingeben im Editfeld gleich Einschreiben ins LiestView,
    dass passiert auch aber er schreibt mir alles untereinander. Wenn ich mit der Eingabe fertig bin möchte ich aber nur den aktuellen letzten Wert haben.

    Bei Memofeld funktioniert es wenn ich es mit Clear vorher den alten wert lösche und neu Eintrage aber warum bei ListView nicht .

    wäre für jede Hilfe Dankbar



  • Hallo,

    Das hier :

    TListItem  *ListItem;
    ListItem = Controll->Items->Add();
    

    fügt nunmal eine neue Zeile hinzu...

    Wenn Du den markierten Eintrag (im ListView) editieren willst, mußt Du das so machen :

    TListItem  *ListItem;
    if (Controll->Selected)
    {
      ListItem = Controll->Selected;
      ListItem->Caption = "19";
      if (ListItem->SubItems->Count > 1)
      {
        ListItem->SubItems->Strings[0] = D19;
        ListItem->SubItems->Strings[1] = H19;
      }  // if (ListItem->SubItems->Count > 1)
    }  // if (ListView1->Selected)
    
    Controll->Items->Clear();
    

    Löscht den gesamten Inhalt des ListViews.

    Bis dann denn,
    🙂
    Nash



  • Hallo Nash

    sorry hatte es probiert bekomme aber nichts angezeigt wenn ich was ins edit feld eintrage und er es gleich ins listview eintragen soll. 😞
    listview bleibt leider leer



  • Hallo Nash

    sorry hatte es probiert bekomme aber nichts angezeigt wenn ich was ins edit feld eintrage und er es gleich ins listview eintragen soll. 😞
    listview bleibt leider leer



  • Hallo,

    Wie gesagt, wenn ein Eintrag markiert ist (im ListView).
    Ansonsten probier's mal so :

    TListItem  *ListItem;
    if (Controll->Selected)
    {
      ListItem = Controll->Selected;
      ListItem->Caption = "19";
      if (ListItem->SubItems->Count > 1)
      {
        ListItem->SubItems->Strings[0] = D19;
        ListItem->SubItems->Strings[1] = H19;
      }  // if (ListItem->SubItems->Count > 1)
    }  // if (ListView1->Selected)
    else
    {
      ListItem = Controll->Items->Add();
      ListItem->Caption = "19";
      ListItem->SubItems->Add(D19);
      ListItem->SubItems->Add(H19);
    }  // else
    

    Bis dann denn,
    🙂
    Nash



  • Jo Danke Nash

    für die schnelle Hilfe jetzt funktioniert es 😃


Anmelden zum Antworten