继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

葡萄城控件
关注TA
已关注
手记 195
粉丝 57
获赞 339

概述

在此前的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是您应该查找的属性。

https://img.mukewang.com/5c1782290001bf4b08500520.jpg

如何使用这两个新属性

  1. GroupDefinition:获取/设置包含C1FlexGrid分组状态的XML格式的字符串。

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

  • Save:使用GroupDescriptions属性对网格进行分组或通过在C1FlexGridGroupPanel上拖动列后,可以使用GroupDefinition属性保存C1FlexGrid的分组状态,如下所示:

SortDefinition:获取/设置包含C1FlexGrid排序状态的XML字符串。

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>
_flexgrid.SortDefinition = Properties.Settings.Default.SortInfo;
  • Load :保存排序信息后,可以使用它将网格恢复为相同的排序状态,如下所示:

  • Save:在对单个/范围的网格列进行排序后,通过设置列的Sort属性或单击列标题,可以使用SortDefinition属性保存C1FlexGrid的排序状态,如下所示:

我们希望 ComponentOne 中增加的新属性使您更方便地保存和加载组/排序状态,也同样希望 ComponentOne 能为您带来更敏捷的开发体验。


ComponentOne Enterprise | 下载试用

ComponentOne是一款专注于企业应用高性能开发的 .NET 全功能控件套包,包含300余种控件,支持7大平台,涵盖7大功能模块。较于市面上其他同类产品,ComponentOne更加轻盈,功能更加强大,20多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。

您对ComponentOne 产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>> 技术支持论坛


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP