如何自定义列表视图以显示不同的背景颜色,如下图所示?
我的listview绑定到数据源(Livebindng)。我想使用颜色字段来设置我的背景颜色。
我以这种方式定制了我的观点:
文本项绑定到数据源但是没有办法将我的Bitmap绑定到我的" color"字段。
我填写了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