特定的 DevExpress .NET 控件(XtraGrid、XtraPivotGrid) 允许你控制如何把它们的布局保存到数据存储中,以及从数据存储中恢复。 本文档描述了实现此功能的方法。
布局选项 (XtraGrid、XtraPivotGrid)
XtraGrid 和 XtraPivotGrid 控件都提供了把布局保存到数据存储中、以及从数据存储中恢复布局的方法 (XML 文件、流和系统注册表)。 所有这些方法都有 SaveLayoutTo... 和 RestoreLayoutFrom... 前缀。 例如, BaseView.SaveLayoutToXml 和 BaseView.RestoreLayoutFromXml 方法可以用于把 GridControl 的视图的布局保存到一个 XML 文件中、然后从这个 XML 文件中恢复布局。 这些方法的完整列表可以在下面的主题中找到:
SaveLayoutTo... 和 RestoreLayoutFrom... 的每个方法都有两个重载 —— 其中一个重载有 options 参数(这个参数是 OptionsLayoutBase 类型的),另一个则没有这个参数。 例如, BaseView.SaveLayoutToXml 和 BaseView.RestoreLayoutFromXml 方法的重载都声明如下:
C# | 复制代码 |
---|---|
public void SaveLayoutToXml(string xmlFile) public void SaveLayoutToXml(string xmlFile, OptionsLayoutBase options) public void RestoreLayoutFromXml(string xmlFile) public void RestoreLayoutFromXml(string xmlFile, OptionsLayoutBase options) |
当调用没有 options 参数的 SaveLayoutTo... 和 RestoreLayoutFrom... 方法时,只保存/恢复控件设置的一个子集。 缺省时,这些设置包括:
- 列/带区/字段的可视状态、位置和大小;
- 排序和分组设置;
- 当前和最近使用(MRU) 的筛选;
- 总计信息;
- 在控件的 OptionsView 对象内部组合的所有设置 (例如,ColumnView.OptionsView)
缺省时,外观、data-aware、行为、自定义项、细节、选中区和一些其他选项不会被保存/恢复。
但是可以通过控件的 OptionsLayout 属性 (在 XtraGrid 控件中使用 BaseView.OptionsLayout 属性,在 XtraPivotGrid 控件中使用 PivotGridControl.OptionsLayout 属性) 来指定哪些选项需要被保存/恢复。 下面列出了由 OptionsLayout 对象提供的选项:
选项 | 默认值 | 说明 |
---|---|---|
OptionsLayoutGrid.StoreVisualOptions | True | 指明控件的可视性选项是否被保存/恢复。
XtraGrid 和 XtraPivotGrid 控件的可视性选项分别组合在 ColumnView.OptionsView 和 PivotGridControl.OptionsView 属性内。 |
OptionsLayoutGrid.StoreDataSettings | True | 指明分组、排序、筛选设置和总计是否被保存/恢复。 |
OptionsLayoutGrid.StoreAppearance | False | 指明控件的外观设置是否被保存/恢复。 |
OptionsLayoutGrid.StoreAllOptions | False | 指明是否保存/恢复控件的全部选项 (外观设置和样式条件除外)。 这些选项包括了可视性、data-aware、行为、自定义项、细节、选中区等。 |
OptionsColumnLayout.AddNewColumns | True | 指明在当前控件布局中存在、但在所加载布局中不存在的那些列/带区/字段,是否应被保留。 如果此选项设置为 False, 那么这些列/带区/字段将被销毁。 |
OptionsColumnLayout.RemoveOldColumns | True | 指明在所加载布局中存在、但在当前控件布局中不存在的那些列/带区/字段,是否应被删除。 如果此选项设置为 False, 那么这些列/带区/字段将被添加到当前控件中。 |
OptionsColumnLayout.StoreLayout | True | 指明列/带区/字段的位置、宽度和可视性是否被保存/恢复。 |
OptionsColumnLayout.StoreAppearance | False | 指定列和带区的外观设置是否被保存/恢复。 |
OptionsColumnLayout.StoreAllOptions | False | 指明带区/列/字段的所有选项是否被保存/恢复。 |
另一种指定要保存/恢复哪些选项的方法,是调用有 options 参数的 SaveLayoutTo... 和 RestoreLayoutFrom... 方法。 你可以创建一个 OptionsLayoutGrid 或 OptionsLayoutPivotGrid 类的实例,定制它并把它作为 options 参数进行传递。 只有在这个对象中被激活的选项,才会被保存/恢复。 options 参数中被禁用的特定选项则不受影响。 要保存所有选项,则把 null (Visual Basic 中为 Nothing) 或一个静态的 OptionsLayoutBase.FullLayout 属性作为 options 参数进行传递。