Форум: "Основная";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизBDGrid, сохранение параметров Ширины Найти похожие ветки
← →
Loki3D © (2006-03-19 14:37) [0]Хочу изящно решить проблему сохранения значений Ширины Столбцов в Сетке
изначально сделал так.
[code]
// в этой процедуре я читаю из ИНИ файла значения ширины
procedure TForm8.GridSizing ();
var
i:integer;
Begin
config:=TIniFile.Create ("../files/config.ini");
Form8.DBGrid1.Columns [0].Visible := false;
For i:=1 to Form8.DBGrid1.FieldCount - 1 do
begin
// проверка наличия переменной Col
If Config.ValueExists ("F8","Col"+ IntToStr(i)) then
begin
Form8.DBGrid1.Columns [i].Width := StrToInt (Config.ReadString ("F8","Col"+ IntToStr(i),""));
end;
end;
end;
// а здесь я сохраняю значения при изменении ширины столбцов руками(мышкой).
procedure TForm8.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Var
i: integer;
begin
For i:=1 to Form8.DBGrid1.Columns.Count-1 do
begin
Config.WriteString ("F8","Col" + intToStr(i),IntToStr(Form8.DBGrid1.Columns[i].Width));
end;
end;
[/code]
Фигня в том, что в одной из форм, просиходит вызов процедуры
ABSTable.COpyTable (...)
при этом Сетка в Форме обновляется и рисуется с той шириной, которая заложена в описании полей Таблици. А при Рисовании ячеек эти данныве сохраняются.
К сожалению нету у TDBGrid события, которое присходило бы на изменение размера столбца.
Вопорс. 1.Тяжелоли изменить готовый компонент, и самому написать это событие?
2. Возможно есть другйо Компонент. с поддержкой вызова данного события? если есть, то какой?
На даном этапе я реализовал свою задачу неочень красиво. Воткнув Запись параметров в ИНИ на закрытие формы и на потерю фокуса. а чтение параметров.. на Получение фокуса и Открытие.
← →
Reindeer Moss Eater © (2006-03-19 14:57) [1]// а здесь я сохраняю значения при изменении ширины столбцов руками(мышкой).
В событии DBGrid1DrawColumnCell ????
← →
Кашперук Иван (2006-03-19 15:25) [2]Если написать свой компонентик, то в onDraw очень хорошо оно все обрабатывается, потому что в OnDrawColumnCell, конечно, немного извратно :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c