2009-10-06 6 views
0

Je suis face à un certain prob managé C++, je peux remplir mon ListView, mais je ne peux pas modifier ligne spécifique au plus tardmodifier ListView de C de la clr

je peux remplir comme

listView1->View = View::Details; 
listView1->Columns->Add("S.no",...... 
ListViewItem^ itmp = gcnew System::Windows::Forms::ListViewItem("100"); 
ListViewSubItem^ itms1 = gcnew ListViewSubItem(itmp, "12:12:12 PM"); 
itmp->SubItems->Add(itms1); 
listView1->Items->Add(itmp); 

I veulent mettre en œuvre le code suivant VB managé C++, mais montrant des erreurs

Dim FindlvItem() As ListViewItem // here i am facing problem in conversion to c++ managed 
FindlvItem = Me.ListView1.Items.Find("100", False) 
FindlvItem(0).SubItems(0).Text = "01:01:01 AM" 

Je ne veux pas utiliser la boucle foreach pour sauver le traitement

vsnet 2008

+0

'Je ne veux pas utiliser foreach loop pour économiser le traitement'. Avez-vous des preuves que c'est un problème? –

Répondre

1

Vous devriez pouvoir convertir le code presque ligne pour ligne en C++/CLI. Le seul problème est que Find renvoie une collection d'éléments de vue de liste, pas seulement un seul élément.

array<ListViewItem^>^ FindlvItem = ListView1->Items->Find("100",false); 
if (FindlvItem->Length == 1) 
{ 
    FindlvItem[0]->SubItems[0]->Text = "01:01:01 AM"; 
} // if found