1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| #include <vector>
struct TMyData
{
AnsiString Caption;
AnsiString SubItem;
AnsiString Criteria;
};
std::vector<TMyData> data;
{
TMyData DataItem;
DataItem.Caption = "caption";
DataItem.SubItem = "Some Data";
DataItem.Criteria = "Some Data";
data.push_back(DataItem);
ListView1->Items->Count = data.size();
}
// OnData event handler
void __fastcall TMyForm::ListView1Data(TObject *Sender, TListItem *Item)
{
TMyData &DataItem = data[Item->Index];
Item->Caption = DataItem.Caption;
Item->SubItems->Add(DataItem.SubItem);
}
{
std::vector<TMyData>::iterator iter = data.begin();
int idx = 0;
while( iter != data.end() )
{
if( (*iter).Criteria == "Some Data" )
{
TListItem *Item = ListView1->Items->Item[idx];
Item->MakeVisible(true);
Item->Selected = true;
return;
}
++idx;
++iter;
}
Application->MessageBox("Item Not Found", "Search Ended", MB_OK);
} |
Partager