Die Subitems werden nicht kopiert



  • Mit folgenden Code versuche ich Items die den Text aus 2 ComboBoxen enthalten aus einer Liste in eine andere zu kopieren,aber die Subitems werden nicht kopiert.

    m_SortListe.DeleteAllItems();
    CString Name,Marke,Namet,Market;
    m_Name.GetLBText(m_Name.GetCurSel(),Name);
    m_Kategorie.GetLBText(m_Kategorie.GetCurSel(),Marke);
    Namet = Name;
    Namet.MakeLower();
    Market = Marke;
    Market.MakeLower();
    for(int i =0; i< m_Store.GetItemCount();i++)
    {
     CString t = m_Store.GetItemText(i,1);
     t.MakeLower();
     bool b1 =(t.Find(Market) > -1)||(Market == "alle")||(Market == "");
     bool b2 =(t.Find(Namet) > -1)||(Namet == "alle")||(Namet == "");
     if(b1&&b2)
     {
      LVITEM lvi;
      lvi.mask = LVIF_PARAM|LVIF_TEXT;
      lvi.lParam = i;
      lvi.iItem = i;
      lvi.iSubItem =0;
      lvi.pszText =m_Store.GetItemText(i,0).GetBuffer(0);
      m_SortListe.InsertItem(&lvi);     
      for(int si =1;si < 11;si++)
      {
       m_SortListe.SetItemText(i,si,m_Store.GetItemText(i,si));
      }
     }
    }
    


  • Bitte denk doch mal ein klein wenig über Deine Codes nach.

    CListCtrl::InsertItem
    Return Value: The index of the new item if successful or -1 otherwise

    Wäre logischer, diesen Index für SetItemText zu nehmen, als den Index aus m_Store, welcher für m_SortListe nämlich sehr häufig undefiniert sein dürfte!



  • Vielen Dank


Anmelden zum Antworten