怎样动态存储DBGrid的属性,使下次打开的时候能开到保存的值
我把用TMemoryStream 动态存储DBGrid的功能封装在TNewDBGrid 中,怎么有时候会出现 Class TDBGridInplaceEdit not found 呢,有时候有可以成功运行呢 ,你可以帮我看下吗
procedure TNewDBGrid.KeyPress(var Key: Char);
var
mss:TMemoryStream;
begin
inherited;
if key=#19 then //Ctrl+S 保存属性
begin
if Assigned(mss) then
begin
mss:=TMemoryStream.Create;
mss.WriteComponent(self);
mss.SaveToFile(path);
FreeAndNil(mss);
end
end;
end;
procedure TNewDBGrid.WMCreate(var Message: TWMCreate);
var
mss:TMemoryStream;
begin
inherited;
if self.Parent<>nil then
begin
path:=self.Parent.Name+self.Name+'.cks';
mss:= TMemoryStream.Create();
if fileexists(path) then
begin
mss.LoadFromFile(path);
try
mss.ReadComponent(self);
finally
mss.Free;
mss:=nil;
end;
end;
end;
end;
我把用TMemoryStream 动态存储DBGrid的功能封装在TNewDBGrid 中,怎么有时候会出现 Class TDBGridInplaceEdit not found 呢,有时候有可以成功运行呢 ,你可以帮我看下吗
procedure TNewDBGrid.KeyPress(var Key: Char);
var
mss:TMemoryStream;
begin
inherited;
if key=#19 then //Ctrl+S 保存属性
begin
if Assigned(mss) then
begin
mss:=TMemoryStream.Create;
mss.WriteComponent(self);
mss.SaveToFile(path);
FreeAndNil(mss);
end
end;
end;
procedure TNewDBGrid.WMCreate(var Message: TWMCreate);
var
mss:TMemoryStream;
begin
inherited;
if self.Parent<>nil then
begin
path:=self.Parent.Name+self.Name+'.cks';
mss:= TMemoryStream.Create();
if fileexists(path) then
begin
mss.LoadFromFile(path);
try
mss.ReadComponent(self);
finally
mss.Free;
mss:=nil;
end;
end;
end;
end;
解决方案 »
- DBGRID显示颜色
- Adoconnection的连接问题?
- 建一个数据库,给表起名有什么规则吗?
- 用listview显示一个记录集中的内容,如何实现类似于dbgrid的效果?(在线)
- 关于.web app debugger 的一个问题
- 请问大虾们,判断数字、字符串、小数那几个delphi函数是什么?
- 想实现 ACDSEE 那种用鼠标拖图片、放大缩小用什么控件?(需要显示图片的控件)
- 有关获取数据库值的问题,用adodata.Fields[3].Value,要有什么条件
- 奇怪的错误????
- 如何捕捉点按钮前focus所在的控件以便在按钮程序中作不同的处理。
- 请赐教思路,开发一个网络数据库程序!
- 急用简单问题:如何给一个控件的事件赋值?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dbgrid1.Columns.SaveToFile('c:\Grid.ini');//保存
DBGrid1.Columns.LoadFromFile('c:\Grid.ini);//加载
界面中直接使用IniTDBGrid(sql:String);
不知道楼主是不是要同样的效果