如何更改 run-time 处的 FMX ListBoxGroupHeader 文本
How to change FMX ListBoxGroupHeader text at run-time
使用 FMX、XE8。
我正在研究如何在 运行 时间更改 TListBoxGroupHeader 的文本。
我有一个 TListBox,我在其中(在设计时)添加了一个 TListBoxGroupHeader 作为第一项。
列表框中有许多额外的项目(每个项目都有控件 - 我希望在设计时添加这些)。
在 运行 时,我想更改 ListBoxGroup 的文本Header - 我不知道该怎么做。
我试过:
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';
文本没有任何变化。
或者更确切地说,文本数据已更改,但不会更改列表框中的组 Header。也就是说,如果我在表单上放置一个标签并执行以下操作:
lbl1.Text:=lst1.ListItems[0].文本;
然后 lbl1 显示 'new text'.
这是一个错误还是我遗漏了什么?
TIA。
EdB
使用 Delphi XE8 更新 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;
使用 FMX、XE8。
我正在研究如何在 运行 时间更改 TListBoxGroupHeader 的文本。
我有一个 TListBox,我在其中(在设计时)添加了一个 TListBoxGroupHeader 作为第一项。
列表框中有许多额外的项目(每个项目都有控件 - 我希望在设计时添加这些)。
在 运行 时,我想更改 ListBoxGroup 的文本Header - 我不知道该怎么做。
我试过:
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';
文本没有任何变化。
或者更确切地说,文本数据已更改,但不会更改列表框中的组 Header。也就是说,如果我在表单上放置一个标签并执行以下操作: lbl1.Text:=lst1.ListItems[0].文本; 然后 lbl1 显示 'new text'.
这是一个错误还是我遗漏了什么?
TIA。
EdB
使用 Delphi XE8 更新 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;