Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

Перемещение столбцов в DBGrid   Найти похожие ветки 

 
ArtemB ©   (2003-02-18 13:20) [0]

Как сохранить чередование столбцов в DBGrid ???
Я попробывал DBGrid.Columns[i].Index записывать в Ini , но что -то не получается... ведь сохранять то как? к примеру поменяли 1 со 2 сотлбцы местами. стало pos0=1 pos1=0 и опять исходное получается.... А КАК делать ???


 
Игорь Шевченко ©   (2003-02-18 13:23) [1]

procedure LoadGridLayout(aForm :TForm; RegName :string);
var
I, J, kk,
ColCount :integer;
KeyName,
CurField :string;
CurIndex,
CurWidth :integer;
begin
if not Assigned(aForm) then
Exit;
with TRegistry.Create do
try
RootKey:=HKEY_CURRENT_USER;
if not OpenKey(AppRootKey, False) then
Exit;
KeyName:=AppRootKey;
if Trim(RegName) <> "" then
KeyName:=KeyName+"\"+Trim(RegName);
KeyName:=KeyName+"\";
for kk:=0 to aForm.ComponentCount-1 do begin
if (aForm.Components[kk] is TDBGrid) and
OpenKey(KeyName+aForm.Components[kk].Name, False) then begin
ColCount:=ReadInteger("ColumnsCount");
for J:=0 to Pred(ColCount) do begin
CurField:=ReadString("Col"+IntToStr(J)+"Field");
CurIndex:=ReadInteger("Col"+IntToStr(J)+"Index");
CurWidth:=ReadInteger("Col"+IntToStr(J)+"Width");
for I:=0 to Pred(TDBGrid(aForm.Components[kk]).Columns.Count) do
with TDBGrid(aForm.Components[kk]).Columns[I] do
if (FieldName = CurField) then begin
Index:=CurIndex;
Width:=CurWidth;
end;
end;
end;
end;
finally
Free;
end;
end;

procedure StoreGridLayout(aForm :TForm; RegName :string);
var
I, kk :integer;
KeyName :string;
begin
if not Assigned(aForm) then
Exit;
with TRegistry.Create do
try
RootKey:=HKEY_CURRENT_USER;
OpenKey(AppRootKey, True);
KeyName:=AppRootKey;
if Trim(RegName) <> "" then
KeyName:=KeyName+"\"+Trim(RegName);
KeyName:=KeyName+"\";
for kk:=0 to aForm.ComponentCount-1 do begin
if (aForm.Components[kk] is TDBGrid) and
OpenKey(KeyName+aForm.Components[kk].Name, True) then begin
WriteInteger("ColumnsCount", THSDBGrid(aForm.Components[kk]).Columns.Count);
for I:=0 to Pred(TDBGrid(aForm.Components[kk]).Columns.Count) do
with TDBGrid(aForm.Components[kk]).Columns[I] do begin
WriteString("Col"+IntToStr(I)+"Field",FieldName);
WriteInteger("Col"+IntToStr(I)+"Index",Index);
WriteInteger("Col"+IntToStr(I)+"Width",Width);
end;
end;
end;
finally
Free;
end;
end;




Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-87644
Supreme
2003-02-10 20:01
2003.02.27
??


14-87615
Zhenka
2003-02-09 20:51
2003.02.27
Почему некоторые имена выделены жирным шрифтом, а некоторые нет


14-87618
Val
2003-02-07 19:09
2003.02.27
Передача графики на мобильник via e-mail


1-87386
Serghei
2003-02-17 15:26
2003.02.27
HasProperty ???


14-87642
Начинающий
2003-02-10 01:54
2003.02.27
Inno Setup