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


    概述

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

    Demo Sample

    如何使用这两个新属性

    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专业解答,点击此处即可发帖提问>> 技术支持论坛

  • 相关阅读:
    Python基础之列表功能
    python基础之字符串基本功能
    Linux服务器上搭建codis集群之——安装前环境准备
    centos7环境开启WIFI热点
    升级glibc、gcc、zlib等
    修复Nginx 502错误:upstream sent too big header while reading response header from upstream
    PS 命令详解
    Linux下网络文件系统NFS服务搭建易错点总结
    2020美赛建模竞赛一等奖经验心得分享
    团队获奖总结
  • 原文地址:https://www.cnblogs.com/C1SupportTeam/p/10133184.html
Copyright © 2020-2023  润新知