概述

数据切片器在电子商务网站上很常见 - 它们可以帮助用户快速过滤所选商品,并且所有过滤选项都可以在一个地方使用,通常包含核心控件类型为:清单,范围栏和单选按钮等。在ComponentOne For WinForm 最新版 2018V3 中,我们推出了数据过滤器的测试版,可以附加到任何数据感知控件中。

滤镜布局由手风琴面板组成,它为过滤条件提供了扩展/折叠选项:

以下就是ComponentOne For WinForm DataFilter控件的一些用法。

使用DataFilter过滤仪表板中的多个控件

仪表板是DataFilters的最佳实践,因为屏幕上的所有信息都可以在一个地方以交互方式进行过滤,从而使用户可以通过选择从数据中获取更多信息。 此外,每个视觉所触及之处都可以连接到DataFilter以进一步向下钻取。

当产品目录涉及大量有关产品的信息时,数据切片器将会派上用场:

将DataFilter控件集成到FlexGrid中

在处理Grid或TreeView等数据控件时,切片器可以是一个有用的交互式过滤工具。 当用户需要在多个列上进行过滤时,可以更轻松地将它们全部设置在一个位置:

WinForm DataFilter的体系结构

DataFilter使用C1CollectionView进行过滤。 C1CollectionView 功能类似于 .NET CollectionView,它支持对集合进行过滤、分组和排序。

在系统内部,当数据过滤器根据用户选择创建过滤器表达式时,表达式将传递给C1CollectionView。 C1CollectionView创建数据源的视图,并根据此表达式应用过滤器。

WinForm DataFilter的用户界面

数据过滤器控件使用的基本布局是“抽屉效果”。 即,每个过滤器项目一个接一个地堆叠,其中每个过滤器项目都可以折叠和展开。

在DataFilter中自动选择过滤器类型

该控件为不同类型的数据生成不同的过滤器控件:

  1. 对于布尔数据字段,DataFilter控件生成一个BoolFilter,由复选框表示。
  2. 对于数字数据字段,控件将生成RangeFilter,它提供范围编辑器和范围滑块以过滤指定范围内的值。
  3. 对于文本/字符串数据字段,控件生成ChecklistFilter,允许用户从清单中选择和过滤项目。
  4. 对于DateTime数据字段,控件生成DateRangeFilter,它提供范围编辑器和范围滑块以过滤指定日期范围内的值。

异步过滤

异步过滤最常见的使用场景是处理大数据时避免阻塞UI。 DataFilter控件中有一个名为ApplyFilterAsync的内置方法,就可以实现异步过滤。

保存并加载过滤器

DataFilter控件支持通过C1DataFilter类的SaveFilterExpression和LoadFilterExpression方法进行序列化。SaveFilterExpression方法将当前过滤器表达式从C1.Win.DataFilter.C1DataFilter.Filters集合保存到XML文件。 LoadFilterExpression方法从XML文件加载保存的过滤器表达式。

设置WinForm DataFilter控件的样式

C1DataFilter类提供了一个Styles属性,可用于自定义DataFilter控件及其元素的外观。 在这里,您可以看到如何编辑按钮、过滤器、复选框、编辑器、标题、过滤器标题和滚动条:

将 ComponentOne 主题应用于DataFilter

DataFilter支持ComponentOne For WinForm中包含的所有主题,包括最近添加的Material和Office 2016主题。 使用C1ThemeController即可在应用程序范围内应用主题:

DataFilter在许多应用程序中非常有用。请下载试用最新版 ComponentOne Enterprise .NET控件集,体验产品并分享您的建议和反馈,以帮助我们改进产品体验,并添加在2019年v1即将发布的 ComponentOne 新版本上!


ComponentOne Enterprise | 下载试用

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

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

关于ComponentOne For WinForm 的全新控件 – DataFilter数据切片器(Beta)的更多相关文章

  1. WinForm开发-界面控件到实体,实体到界面控件自动绑定

    在WinForm开发中,我们是不是为绑定界面控件的数据而每个控件每个控件的赋值?在保存修改时是不是也是每个控件每个控件的赋值到实体中?字段一多,那简直就是噩梦.有没有像Web中那样方便的方法直接就自动 ...

  2. DevExpress winform XtraEditor常用控件

    最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...

  3. WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享

    WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享 在WinForm程序中,我们有时需要对某容器内的所有控件做批量操作.如批量判断是否允许为空?批量设置为只读.批量设置 ...

  4. Winform中checklistbox控件的常用方法

    Winform中checklistbox控件的常用方法最近用到checklistbox控件,在使用其过程中,收集了其相关的代码段1.添加项checkedListBox1.Items.Add(" ...

  5. {VS2010C#}{WinForm}{ActiveX}VS2010C#开发基于WinForm的ActiveX控件

    在VS2010中使用C#开发基于WinForm的ActiveX控件 常见的一些ActiveX大部分是使用VB.Delphi.C++开发,使用C#开发ActiveX要解决下面三个问题: 使.NET组件可 ...

  6. Atitit. .net c# web 跟客户端winform 的ui控件结构比较

    Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net   4.5 webform Winform 命名空间 System.Web.UI.WebControls ...

  7. 在Winform开发框架中,利用DevExpress控件实现数据的快速录入和选择

    在实际的项目开发过程中,有好的控件或者功能模块,我都是想办法尽可能集成到我的WInform开发框架中,这样后面开发项目起来,就可以节省很多研究时间,并能重复使用,非常高效方便.在我很早之前的一篇博客& ...

  8. WinForm窗体及其控件的自适应

    3步骤: 1.在需要自适应的Form中实例化全局变量   AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass ...

  9. WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二)

    WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二) 编写人:CC阿爸 2015-1-29 今天我想与大家继续一起分享这一伟大的控件.有兴趣的同 ...

随机推荐

  1. sshfs远程挂载

    一.什么是 SSHFSSSHFS(Secure SHell FileSystem)是一个客户端,可以让我们通过 SSH 文件传输协议(SFTP)挂载远程的文件系统并且在本地机器上和远程的目录和文件进行 ...

  2. python全栈开发 * 22 面向对象 知识点汇总 * 180703

    22 面向对象 -----属性,类方法,静态方法,反射一.属性1.属性的定义:将方法伪装成属性,虽然在代码层面上没有任何高深之处,但让其看起来更合理. (类似于属性的方法)class Person: ...

  3. 洛谷P3384 【模板】树链剖分

    题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式 ...

  4. CH 3101 - 阶乘分解 - [埃筛]

    题目链接:传送门 题解: $(1e6)!$ 这种数字,表示都表示不出来,想直接 $O(\sqrt{N})$ 分解质因数这种事情就不要想了. 考虑 $N!$ 的特殊性,这个数字的所有可能包含的质因子,就 ...

  5. vue-cli脚手架

    cnpm i vue-cli -g   //npm 安装报错,原因不明,可能是我改过东西的原因,但是cnpm可以安装 命令行进入要新建的vue的目录执行 C:\Users\76912\Videos\v ...

  6. 在不同语言中static的用法

    static (计算机高级语言) 编辑 像在VB,C#,C,C++,Java,PHP中我们可以看到static作为关键字和函数出现,在其他的高级计算机语言如FORTRAN.ALGOL.COBOL.BA ...

  7. CMake和Linux编程:find_package的使用

    1.第一个CMake例子 在 t1 目录建立 main.c 和 CMakeLists.txt(注意文件名大小写): main.c 文件内容: //main.c #include <stdio.h ...

  8. iot-web增加apis-namespace组件

    1  文件夹复制 apis 2 增加 3 增加module

  9. XMLHttpRequest请求被劫持

    十几个请求中随机一个转到 <html><head><script language="javascript">setTimeout(" ...

  10. 把ResNet-L152模型的ckpt文件转化为pb文件

    import tensorflow as tf from tensorflow.python.tools import freeze_graph #os.environ['CUDA_VISIBLE_D ...