【Visual Studio 扩展工具】使用ComponentOne中的属性保存和还原布局

12次阅读

共计 2087 个字符,预计需要花费 6 分钟才能阅读完成。

概述
在此前的 ComponentOne 中,我们为 C1FlexGrid(最快,最灵活的.Net 数据网格控件)添加了一个非常强大的动态分组功能,这篇技术博客《将动态分组添加到.NET 表格控件 FlexGrid 中》是通过 GroupDescriptions 属性为我们演示了此功能。随着 ComponentOne Enterprise 2018v3 版本的正式发布,ComponentOne For WinForm 中的 C1Flexgrid 又向前推进了两个新属性:GroupDefinition 和 SortDefinition。
GroupDefinition 和 SortDefinition 的用例
目前,C1FlexGrid 允许您在 GroupPanel 上拖动列,实现在运行时执行分组。但是,如果您希望将网格再次恢复到相同的分组状态,该怎么办?例如,如果您需要按区域分析销售信息,则可以将 Country 和 City 列拖到 GroupPanel,对数据进行分类并分析信息。但是,如果其他人必须执行相同的分析,或者您需要在下次访问时继续从同一状态继续,则您希望 C1Flexgrid 以特定间隔保存您的分类,然后将网格恢复为相同状态。这就是 GroupDefinition 属性派上用场的地方。
同样,如果需要以动态预定义排序状态设置网格,则 SortDefinition 是您应该查找的属性。

如何使用这两个新属性
1.GroupDefinition:获取 / 设置包含 C1FlexGrid 分组状态的 XML 格式的字符串。
Save:使用 GroupDescriptions 属性对网格进行分组或通过在 C1FlexGridGroupPanel 上拖动列后,可以使用 GroupDefinition 属性保存 C1FlexGrid 的分组状态,如下所示:
Properties.Settings.Default.GroupInfo = _flexgrid.GroupDefinition; 此属性以 XML 格式保存组信息,如下所示:

<GroupDescriptions>
< GroupDescription PropertyName = “ShipCountry” SortDirection = “Ascending”
Group = “True” />
< GroupDescription PropertyName = “ShipCity” SortDirection = “Ascending”
Group = “True” />
< GroupDescription PropertyName = “ShipName” SortDirection = “Ascending”
Group = “False” />
</GroupDescriptions>

Load:在用户设置等某个位置保存状态后,您可以通过分配“组定义”属性来使用此信息加载相同的组状态,如下所示:
_flexgrid.GroupDefinition = Properties.Settings.Default.GroupInfo;

2.SortDefinition:获取 / 设置包含 C1FlexGrid 排序状态的 XML 字符串。
Save:在对单个 / 范围的网格列进行排序后,通过设置列的 Sort 属性或单击列标题,可以使用 SortDefinition 属性保存 C1FlexGrid 的排序状态,如下所示:
Properties.Settings.Default.SortInfo = _flexGrid.SortDefinition; 此属性以 XML 格式保存组信息,如下所示:
<ColumnsSort>
< ColumnSort ColumnIndex = “0” ColumnName = “ShipCountry”
Sort = “Ascending” />
< ColumnSort ColumnIndex = “1” ColumnName = “ShipCity”
Sort = “Ascending” />
< ColumnSort ColumnIndex = “2” ColumnName = “ShipName”
Sort = “Ascending” />
</ColumnsSort>
Load:保存排序信息后,可以使用它将网格恢复为相同的排序状态,如下所示:
_flexgrid.SortDefinition = Properties.Settings.Default.SortInfo; 我们希望 ComponentOne 中增加的新属性使您更方便地保存和加载组 / 排序状态,也同样希望 ComponentOne 能为您带来更敏捷的开发体验。

ComponentOne Enterprise | 下载试用

ComponentOne 是一款专注于企业应用高性能开发的 .NET 全功能控件套包,包含 300 余种控件,支持 7 大平台,涵盖 7 大功能模块。较于市面上其他同类产品,ComponentOne 更加轻盈,功能更加强大,20 多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。
您对 ComponentOne 产品的任何技术问题,都有技术支持工程师提供 1 对 1 专业解答,点击此处即可发帖提问 >> 技术支持论坛

正文完
 0