我在 TMS 的 Tdbadvgrid 工作。我正在根据 sql 查询长度动态添加列。一切都很好,除了节省列宽。添加列:
//Captions
for i := 0 to oRow.Count - 1 do
begin
grdFieldData.Columns.Insert(1);
grdFieldData.Cells[i + 1, 0] := TabelList.Captions[i].Caption;
end;
//Data
for r := 0 to TabelList.Count - 1 do //rows
begin
for c := 0 to oRow.Count - 1 do //cols
begin
grdFieldData.Cells[c+1, r+1] := TabelList.Rows[r].Fields[c].Value;
end;
if r <> TabelList.Count - 1 then
grdFieldData.RowCount := grdFieldData.RowCount + 1;
end;
现在保存功能已内置到 TMS TDBAdvGrid 中,如下所示:
我试过搞乱所有选项,但没有运气。
该表有 1 个固定行(用于标题)和一个空行。该行仅存在,因为固定行数必须小于行数。将数据保存到 .ini 文件或注册表时,它会保存并加载第一列,但动态添加的列会作为默认值 (64) 写入,但在我拖动它们以调整大小时从未保存/加载。.ini 文件表如下所示:
[Recept]
Col0=20
Col1=97
Col2=64
Col3=64
Col4=64
Col5=64
Col6=64
Col7=64
Col8=64
Col9=64
Col10=64
Col11=64
Col12=64
Col13=64
Col14=64
有谁知道我可以做些什么来正确保存列以便保存宽度?