Главная страница
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.02 c
1-87531
ProfiUgl
2003-02-17 09:41
2003.02.27
Количество лет, месяцев и дней между двумя датами


14-87621
MsGuns
2003-02-07 12:09
2003.02.27
Вчера Л.Кучма не одобрил начало военных действий


6-87609
sergey2
2003-01-07 18:19
2003.02.27
Как получить текст HTML для заданого фрейма в TWebBrowser?


1-87368
Tundra
2003-02-17 16:26
2003.02.27
ТThread не работает так как надо.


3-87336
Keeper
2003-02-05 15:43
2003.02.27
DOS-кодировка