我正在使用DevExpress网格,有保存布局的方法,但我有一个额外的问题:有没有可能更新已经保存的布局,而不覆盖它,而只更新,例如,列被更改了?
发布于 2012-08-22 06:38:37
我不明白更新保存的布局的目的是什么。
然而,当你在更改列后调用savelayout时,它会将当前布局相关信息(列显示状态、列视图顺序、排序信息等)完全写入到注册表/stream/XML中,并且不可能仅更新现有布局信息。
如果您以前从已保存的文件中应用了布局,则覆盖相同的文件(使用布局信息)将等同于您的要求-更新保存的布局。
发布于 2012-08-22 10:05:47
我可以建议您创建此布局文件的副本吗?这样,您就可以更新副本并保留原件。
发布于 2016-02-16 08:17:27
这个问题很久以前就被提出了,但是在DevExpress中升级现有的布局文件是可能的。您必须处理两个事件:BeforeLoadLayout.和LayoutUpgrade开始时,您必须使用属性OptionsLayout.LayoutVersion.为布局指定版本号当您更改布局时,隐藏一些列,添加新列,添加新过滤器...更改LayoutVersion编号。当您的应用程序启动时,DevExpress会将现有的LayoutVersion编号与新的编号进行比较,前提是触发的LayoutUpgrade事件存在差异。
DevExpress在此处描述此行为:Ugrading Layout
我希望这能有所帮助。
https://stackoverflow.com/questions/12055362
复制相似问题