如何更改TListview项目的背景颜色?

时间:2016-05-26 15:02:27

标签: delphi firemonkey

如何自定义列表视图以显示不同的背景颜色,如下图所示?

Items with different background color

我的listview绑定到数据源(Livebindng)。我想使用颜色字段来设置我的背景颜色。

我以这种方式定制了我的观点:

  • 3个文字项目(指定,日期和简历)
  • 1位图项目(Couleur)

文本项绑定到数据源但是没有办法将我的Bitmap绑定到我的" color"字段。

enter image description here

我填写了listview ActivesUpdateObjects事件,但是这并不是因为当数据源记录更新时位图没有改变!

procedure TfrmMain.lvTachesActivesUpdateObjects(const Sender: TObject;
  const AItem: TListViewItem);
begin
  SetItemColor(AItem);

end;

procedure TfrmMain.SetItemColor(const AItem: TListViewItem; const UpdateColor:
    Boolean = False);
var
  LObject: TListItemImage;
  VC: TColor;
begin
  LObject        := AItem.Objects.FindObjectT<TListItemImage>('Couleur');
  VC:= dtmMain.qrTaches.FieldByName('couleur').AsInteger;
  if LObject.Bitmap = nil then
  begin

  LObject.Bitmap := FMX.Graphics.TBitmap.Create(10,240);
  LObject.Bitmap.Clear(VC);
  end else if UpdateColor then LObject.Bitmap.Clear(VC);

end;

还有更好的方法吗?我也在寻找使用风格,但看起来(或者我没有找到)itemlistview不能应用风格!

Ps:Firemonkey / Windows / Delphi Berlin XE10.1

0 个答案:

没有答案