【问题标题】:How to change FMX ListBoxGroupHeader text at run-time如何在运行时更改 FMX ListBoxGroupHeader 文本
【发布时间】:2015-10-10 12:52:30
【问题描述】:

使用 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';

没有改变文本。

或者更确切地说,文本数据已更改,但不会更改列表框中的组标题。也就是说,如果我在表单上放置一个标签并执行以下操作: lbl1.Text:=lst1.ListItems[0].Text; 然后 lbl1 显示“新文本”。

这是一个错误还是我遗漏了什么?

TIA。

EdB

【问题讨论】:

    标签: delphi listbox firemonkey delphi-xe8


    【解决方案1】:

    使用 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;
    

    【讨论】:

    • 感谢 - 在 QC 中报告为 RSP-11510
    • 看起来这个问题在 Delphi DX 10 的试用版(昨天发布)中已修复
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 2017-05-28
    • 1970-01-01
    相关资源
    最近更新 更多