提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:龚雪|2022-08-18 10:56:36.340|阅读 103 次
概述:本文主要为大家介绍如何使用Telerik UI for WinForms中的RadFilterView组件来过滤数据,欢迎下载产品体验~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
您是否希望应用程序能够拥有过滤选项,来帮助用户快速过滤?现在可以使用Telerik UI for WinForms全新的RadFilterView控件,它可以帮您做到!
RadFilterView是一个控件,它允许您的用户使用直观的UI轻松过滤数据,它旨在与我们最流行的控件一起使用,如 RadGridView、RadListView、RadTreeView 等。您可以简单地设置 RadFilterView 的 AssociatedControl 属性,当用户更改某些过滤器时,关联的控件将立即被过滤。
如果您不想在每次用户进行单个更改时触发关联控件的过滤,可以更改FilteringMode属性。
this.radFilterView1.FilteringMode = FilteringMode.Programmatically;
该控件也可以独立工作(没有关联的控件),在这种模式下,需要设置DataSource属性,以便为控件提供数据。
当用户更改任何类别中的值时,将触发控件的 FilterChanged 事件。 在事件处理程序中,您可以使用 FilterDescriptors 的集合,它用于过滤我们的大多数数据控件,或者 RadFilterView.Expression 属性,它返回一个类似 SQL 查询的字符串:
"[FirstName] IN ('Bruce','Chris') AND [SSN] >= 2882255 AND [Married] = True"
它是如何工作的? 设置 DataSource 时,过滤视图控件为相应数据的每一列创建一个类别,然后遍历每条记录并存储值,根据列的数据类型,控件创建不同类型的类别:
这些类别提供了多种选项,您可以在其中将整个类别替换为自定义类别、自定义类别或仅更改值。
现在让我们看一下绑定到文本数据的过滤器视图,以下是默认创建的文本类别的外观:
如您所见,类别标题文本不是用户友好的,因为它与源列名称相同,可以在 CategoryCreating 或 CategoryCreated 事件中更改类别显示名称。
private void RadFilterView1_CategoryCreated(object sender, FilterViewCategoryCreatedEventArgs e) { if (e.Category.PropertyName == "product_name") { e.Category.DisplayName = "Product Name"; } }
可以看到的另一件事是,这些值与它们在数据源中出现的顺序相同。 当我们有大量文本值时,用户可以更轻松地浏览按字母排序的数据,对值重新排序的正确位置是 CategoryCreating 事件,在这里您甚至可以替换整个类别,这是如何对值进行排序的代码示例:
private void RadFilterView1_CategoryCreating(object sender, FilterViewCategoryCreatingEventArgs e) { List<object> values = e.Values.ToList(); values.Sort(); e.Values = values; }
为了使其更具可读性,我们可以将每个产品的第一个字母大写。 这可以在文本类别的 ItemCreated 事件中完成并更改项目的文本(使用区域性 TextInfo 的 ToTitleCase 方法),附加到此事件的正确位置再次位于 CategoryCreating 事件中。
private void RadFilterView1_CategoryCreating(object sender, FilterViewCategoryCreatingEventArgs e) { List<object> values = e.Values.ToList(); values.Sort(); e.Values = values; FilterViewTextCategoryElement category = e.Category as FilterViewTextCategoryElement; category.ItemCreated += this.Category_ItemCreated; } private void Category_ItemCreated(object sender, FitlerViewTextCategoryItemCreatedEventArgs e) { TextInfo info = CultureInfo.CurrentCulture.TextInfo; string newText = info.ToTitleCase(e.Item.Text); e.Item.Text = newText; }
最后的结果:
Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件。所有的UI for WinForms控件都具有完整的主题支持,可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。
Telerik_KendoUI产品技术交流群:726377843 欢迎一起进群讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
文章转载自:慧都网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
拥有适用Windows Forms的110+个酷炫UI控件。
Telerik DevCraft最完整的.NET、Web和Mobile开发工具,智能制造首选控件。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢