使用FMX,XE8。
我试图找出如何在运行时更改TListBoxGroupHeader的文本。
我有一个TListBox,我已经(在设计时)将TListBoxGroupHeader添加为第一项。
列表框中有许多额外的项目(每个项目都有控件 - 我希望在设计时添加这些项目)。
在运行时我想更改ListBoxGroupHeader的文本 - 我无法解决如何执行此操作。
我试过了:
ListBoxGroupHeader1.Text:='new text';
ListBox1.ListItems[0].Text:='new text';
TListBoxGroupHeader(ListBox1.ListItems[0]).Text:='new text';
TListBoxGroupHeader(ListBox1.ListItems[0]).ItemData.Text:='new text';
没有更改文字。
或者更确切地说,Text数据已更改,但不会更改列表框中的Group Header。也就是说,如果我在表单上放一个标签并执行: lbl1.Text:= lst1.ListItems [0]。文本; 然后lbl1显示'新文字'。
这是一个错误还是我错过了什么?
TIA。
EDB
答案 0 :(得分:0)
使用Delphi XE8 Update 1进行测试。
我和你一样有同样的问题。我做了以下解决方法:
var
Form1: TForm1;
ListBoxGroupHeader1: TListBoxGroupHeader;
implementation
{$R *.fmx}
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBoxGroupHeader1 := TListBoxGroupHeader.Create(ListBox1);
ListBoxGroupHeader1.Visible := False;
ListBoxGroupHeader1.Parent := ListBox1;
ListBoxGroupHeader1.Visible := True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ListBoxGroupHeader1.Text := DateTimeToStr(Now);
end;