Главная страница
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.022 c
3-87345
Calm
2003-02-11 10:38
2003.02.27
Можно ли возвращать из ХП строку, содержащую символ #13?


3-87277
Olivka
2003-02-09 12:34
2003.02.27
как упаковать таблицу DBASE , если работаю без бде, через АДО?


14-87703
SniZ
2003-02-11 22:12
2003.02.27
Dark BAsic


7-87732
VideoLord
2002-12-26 03:19
2003.02.27
Такого не может быть...


1-87499
race1
2003-02-16 12:12
2003.02.27
error