Delphi 寻找如何使用StoreToStorage保存cxgrid布局(devexpress)

Delphi 寻找如何使用StoreToStorage保存cxgrid布局(devexpress),delphi,devexpress,Delphi,Devexpress,使用Delphi、cxgrid(Devexpress),我需要将布局保存在数据库中。我有使用ini文件保存的功能,但这会在中创建许多文件,并希望将这些设置保存到数据库中 为此,我想使用StoreToStorage,以字符串形式保存数据库。或者如果我没有找到,我必须把这个ini文件放在数据库中 有人举过使用StoreToStorage的例子吗 INI文件示例-保存 procedure TFrm_BI_Exemplo.actDoSaveExecute(Sender: TObject); begin

使用Delphi、cxgrid(Devexpress),我需要将布局保存在数据库中。我有使用ini文件保存的功能,但这会在中创建许多文件,并希望将这些设置保存到数据库中

为此,我想使用StoreToStorage,以字符串形式保存数据库。或者如果我没有找到,我必须把这个ini文件放在数据库中

有人举过使用StoreToStorage的例子吗

INI文件示例-保存

procedure TFrm_BI_Exemplo.actDoSaveExecute(Sender: TObject); 
begin 
 inherited;  
 grdPadraoCxDBTableView1.StoreToIniFile(ExtractFilePath(Application.ExeName) + '/filtros/Teste.ini', true, [gsoUseFilter, gsoUseSummary]); 
end ;
示例com INI文件-加载

procedure TFrm_BI_Exemplo.actDoLoadExecute(Sender: TObject);
begin        
 inherited;  
 grdPadraoCxDBTableView1.RestoreFromIniFile(ExtractFilePath(Application.ExeName) + '/filtros/teste.ini', true, false, [gsoUseFilter, gsoUseSummary]);
end;
谢谢

所有视图(
TcxDBTableView
在您的案例中)都有方法
StoreToStream
。您可以将流放入数据库中的blob字段中,并使用
RestoreFromStream
还原
ViewState

我只是不明白你在这里干什么:

grdPadraoCxDBTableView1.RestoreFromIniFile(ExtractFilePath(Application.ExeName) + '/filtros/teste.ini, true, false, [gsoUseFilter, gsoUseSummary]);
actCancLoad.Execute;
cbbCarregarNome.Text := 'Selecionar Arquivo';

似乎您正在加载ini文件,然后取消加载。。。查看此代码。

关于
storetostream
它在这里不起作用。。。我想我需要更好地了解如何使用。我在两个代码(保存/还原)中都执行了此操作:<代码>AStream:TMemoryStream<代码>AStream:=TMemoryStream.Create它正在工作:
clientdatasetnamefield.LoadFromStream(AStream)
;这里它不起作用:
clientdatasetnamefield.SaveToStream(AStream)//它没有加载到Astream…
我将更好地粘贴代码。你有一些示例代码让我试试吗?我问这个问题是因为我试图搜索互联网,但没有找到使用StoreToStream作为示例的代码。。。如
grdPadraoCxDBTableView1.StoreToStream(AStream)谢谢你抽出时间!var-msTest:TMemoryStream;开始msTest:=TMemoryStream.Create;尝试msTest.SaveToStream(oConfAd);最终FreeAndNil(msTest);结束;结束;好的,但是我怀疑问题与尺寸有关。。。因为我在这里查看的是由
StoreToIniFile
创建的ini文件与'cdsBIConfigCONFILT.LoadFromStream(AStream)'的结果之间的差异然后
cdsbconfigconfilt.AsString
它们看起来就不同了(ini有更多的数据)
cdsBIConfigCONFILT//是一个Tmemofield。
I创建了一个备忘录作为测试:
CREATE TABLE TC\u BICONFIG(CODFILT INTEGER非空,CONFILT BLOB SUB\u TYPE 1段大小10000字符集WIN1252);ALTER TABLE TC_BICONFIG ADD CONSTRAINT PK_TC_BICONFIG主键(CODFILT)(firebird)也许我可以创建不同的配置。我在这里测试(有时我需要停下来做其他事情…)。