Delphi FMX TListview — отображать png по умолчанию, если таблица Blob имеет значение null

Вместо того, чтобы хранить файл default.png в каждой строке базы данных, где изображение пусто (пустая трата места в базе данных), есть ли способ отобразить этот файл default.png в представлении списка, где изображение пусто/нуль в таблице?

(Я использую livebindings по коду).


person Peter W.    schedule 18.11.2020    source источник


Ответы (1)


Вы можете проверить и установить в событии ListView UpdateObjects:

procedure TForm1.ListView1UpdateObjects(const Sender: TObject;
  const AItem: TListViewItem);
begin
  if not Assigned(AItem.Bitmap) then
    AItem.Bitmap.Assign(Image1.Bitmap);
end;

С наилучшими пожеланиями
Moskw@

person Moskwa    schedule 27.11.2020
comment
Я пробовал. Не работает... в отладчике код проходит через строку, а графика не отображается. - person Peter W.; 28.11.2020
comment
Вы уверены, что назначенное растровое изображение не пусто? - person Moskwa; 29.11.2020
comment
Я проверил базу данных - там написано, что поле пустое. так это странно. в любом случае, AItem.bitmap, похоже, назначается во время выполнения. Я изменил, чтобы проверить размер растрового изображения, и он может работать. Спасибо! - person Peter W.; 29.11.2020