Чудеса с OwnerData в ListView -e...
Короче нуно было в ListView затолкать данные из DataSet в режиме
ownerdata.
делаю так
Код:
подготовка к заполнению (делаю к примеру по клику кнопки)
LV->Columns->Clear();
TListColumn *NewColumn = NULL;
AnsiString asCaption;
for (int idx = 0; idx < ADO->Fields->Count; idx++)
{
asCaption = ADO->Fields->Fields[idx]->DisplayLabel;
if ( asCaption != "hide_this_column")
{
NewColumn = LV->Columns->Add();
NewColumn->Caption = asCaption;
NewColumn->Width = 120;
NewColumn->AutoSize=true;
}
}
LV->Items->BeginUpdate();
LV->Items->Clear();
LV->OwnerData=true;
// выставлю кол-во строк в ListView -e
ListView_SetItemCountEx(LV->Handle,ADO->RecordCount,LVSICF_NOINVALIDATEALL);
LV->Items->EndUpdate();
обработка события OnData:
Код:
if (!ADO->Eof) {
Item->ImageIndex = 0;
Item->Caption = ADO->Fields->Fields[0]->AsString;
// ostaljnije kolonki
for (int idx = 1; idx < ADO->Fields->Count; idx++)
Item->SubItems->Add(ADO->Fields->Fields[idx]->AsString);
ADO->Next();
}
А проблема следующая:
всего у меня было 5 записей , 5 раз вызывает cобытие ondata, но отображает
только 2 и 4 запись и 5 на половину, скакал по шагам, из DataSet -та он
все берет правильно, но у себя отражает не правильно...
Что делать, как быть???????