Я работаю в Tdbadvgrid от TMS. Я добавляю столбцы динамически на основе длины запроса 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
При загрузке это выглядит так:
Кто-нибудь знает, что я могу сделать, чтобы столбцы сохранялись правильно, поэтому ширина будет сохранена?