Delphi FMX StringGrid 运行时增加列
一般是读取某个数据源,按数据源的列数来动态生成对应数量的列。
while StringGrid2.ColumnCount < FDQuery2.FieldCount do begin
with TStringColumn.Create(StringGrid2) do begin
Parent := StringGrid2;
Width := 60;
Header := FDQuery2.Fields[StringGrid2.ColumnCount-1].DisplayName;
//FDQuery2.Fields[0].DisplayName;
//FDQuery2.FieldList.Fields[0].DisplayName;
// FDQuery2.FieldList.Fields[0].DisplayLabel;
end;
end;
或者
StringGrid2.Columns.AddObject(TStringColumn.Create(StringGrid2));
StringGrid2.Columns[StringGrid2.ColumnCount-1].Header := FDQuery2.Fields[StringGrid2.ColumnCount-1].DisplayName;