E
eastcreative
Unregistered / Unconfirmed
GUEST, unregistred user!
DBgrideh界面保存的问题(保存它的column格式)
为了保证下次打开程序的方便,DBGridEh提供了保存它的界面风格的功能,如下:
var
CloumnST:TmemoryStream;
begin
inherited;
with Data.QSysGridColumn do
begin
close;
sql.Clear;
sql.Text:='Select * from tSysGridColumn where fFrmName='+vartosql(Self.Name);
open;
if RecordCount=0 then
Exit;
end;
try
CloumnST:=TmemoryStream.Create;
TBlobField(Data.QSysGridColumn.FieldByName('fGridMemo')).SaveToStream(CloumnST);
if CloumnST.Size > 0 then
begin
Cloumnst.Position := 0;
DBGridEh1.Columns.LoadFromStream(CloumnST);
end;
finally
CloumnST.Free;
end;
end;
但是现在问题又出现了:
1、我这样子从SQL里将它上次的界面(以流的方式保存)调出来以后,但是我觉得还有些问题,需要再次设置栏位等,然后再保存,这样,只有先将这个column的格式清除:
采用:
DBGridEh1.Columns.Clear;
然后就可以再设置栏位了。
但是如果我这样子用的话(我指 DBGridEh1.Columns.Clear;),它将会把我设置在DBGridEh里的footer的一些设置,包括统计,全清除!
目前,就是这一个问题没有得到解决!
为了保证下次打开程序的方便,DBGridEh提供了保存它的界面风格的功能,如下:
var
CloumnST:TmemoryStream;
begin
inherited;
with Data.QSysGridColumn do
begin
close;
sql.Clear;
sql.Text:='Select * from tSysGridColumn where fFrmName='+vartosql(Self.Name);
open;
if RecordCount=0 then
Exit;
end;
try
CloumnST:=TmemoryStream.Create;
TBlobField(Data.QSysGridColumn.FieldByName('fGridMemo')).SaveToStream(CloumnST);
if CloumnST.Size > 0 then
begin
Cloumnst.Position := 0;
DBGridEh1.Columns.LoadFromStream(CloumnST);
end;
finally
CloumnST.Free;
end;
end;
但是现在问题又出现了:
1、我这样子从SQL里将它上次的界面(以流的方式保存)调出来以后,但是我觉得还有些问题,需要再次设置栏位等,然后再保存,这样,只有先将这个column的格式清除:
采用:
DBGridEh1.Columns.Clear;
然后就可以再设置栏位了。
但是如果我这样子用的话(我指 DBGridEh1.Columns.Clear;),它将会把我设置在DBGridEh里的footer的一些设置,包括统计,全清除!
目前,就是这一个问题没有得到解决!