在运行时添加 stringgrid 列

Add stringgrid column at runtime

我在网上找到了很多解决方案,但它们都不起作用,因为 StringGrid1.ColumnCount 人是只读的。我正在使用 Delphi 10 西雅图。

我有一个 StringGrid1,我需要在运行时添加列。具体来说,我必须根据 TList 的大小添加列。特别是:

var a: TList<double>;
begin

 //fill the TList...

 for i := 0 to a.Count - 1 do
  begin
   StringGrid1.AddColumn(); //how can I do this?
  end;

end;

我发现这在 Lazarus 上非常容易(当然它有 FPC)但是在 Delphi 我真的不知道该怎么做。我正在研究 Firemonkey。

使用网格的 AddObject() or InsertObject() method to add an object instance of the desired TColumn-derived class, like TStringColumn. The column object will get added to the grid's Columns array. The ColumnCount 属性 只是 returns 数组中的列数,这就是它是只读的原因。