如何在运行时将项目添加到 DynamicAppearance Listview?在设计模式下,我创建了我想要的 ListView 布局。我添加了 3 个 TTextObjectAppearance。如何动态设置这 3 个 TTextObjectAppearance 文本?
问问题
6909 次
3 回答
8
我花时间格式化原始发布者在原始问题评论中发布的答案。
var list : TListViewItem;
ldes, lOrder, lLegal : TListItemText;
begin
list := ListView1.Items.Add;
ldes := list.Objects.FindObjectT<TListItemText>('Description');
lOrder := list.Objects.FindObjectT<TListItemText>('OrderId');
lLegal := list.Objects.FindObjectT<TListItemText>('LegalCode');
ldes.Text := 'Mouri';
lOrder.Text := 'Love';
lLegal.Text := 'You'
end;
于 2016-05-25T11:58:12.777 回答
2
更改文本的另一种方法是:
for i := 0 to Listview1.Itemcount-1 do begin
Listview1.Items.AppearanceItem[i].Data['Description'] := 'Mouri';
Listview1.Items.AppearanceItem[i].Data['OrderID'] := 'loves';
Listview1.Items.AppearanceItem[i].Data['LegalCode'] := 'YOU!';
end;
于 2020-01-08T14:47:43.077 回答
0
出于某种原因,我无法更改 TTextObjectAppearance 项目的文本颜色。我在绑定/设计(dynamicAppeareance)Listview上所做的如下:
procedure TReportsForm.lvwReportsUpdateObjects(const Sender: TObject;
const AItem: TListViewItem);
var drw: TListItemDrawable;
cpt: string;
begin
drw:=AItem.Objects.FindDrawable('Concept');
if (drw <> nil) then begin
cpt := AItem.Data['Concept'].AsString;
if (cpt = 'BAD') then
(drw as TListItemText).TextColor := TAlphaColorRec.Indianred
else
(drw as TListItemText).TextColor := TAlphaColorRec.Cadetblue
end;
end;
于 2019-03-05T16:55:14.110 回答