在一次使用ASP.NET MVC进行开发的Web项目中,我们需要用户界面控件来帮助实现界面的大部分功能。由于项目比较复杂,我们最终确定对 Kendo UI 和 DevExpress 这两款国际知名的用户界面组件进行评估。下面笔者跟大家分享一下评估控件的经验,希望对其他选购控件的朋友提供一个参考和借鉴。

当时我们评估这两款控件主要考察:控件的功能、易用性、与当前项目的集成时间和自动代码完成的时间。

控件功能
首先我们比较了Kendo UI和DevExpress当前所提供的控件,并大致评估了控件的功能。根据项目的需求,我们主要测试了文本和日期两个控件。

Kendo UI
Kendo UI是Telerik旗下的控件,在Web和移动开发领域都有非常棒的表现,在开发者当中也是相当的受欢迎。Kendo UI提供了两个文本字段控件:Autocomplete 和 NumericTextBox。后面个控件提供了各种选项,比如价格、百分比、测量和质量。这些控件非常惊艳,功能很强大,不过唯一的不足就是它的Mask文本字段,比如输入邮件和地址必须要用固定的格式,不过这个问题用一个jQuery插件就可以轻松解决。

Kendo UI的文本字段有三个选项:Calendar, DatePicker 和 DateTimePicker。Calendar非常平滑,可以自定义模板,比如可以为日历添加图标。

DatePicker 和 DateTimePicker使用比较简单,比如要提取其他DatePicker上的动态数据,只需要一行代码就可以实现。同样,这两个控件也是完全可自定义的,不仅可以提取单个的日期,还可以提取月份,DateTimePicker可以提取单个小时。

DevExpress
DevExpress当然不用我多介绍了,界面控件中的老大,界面效果好,控件丰富,可以实现各种意想不到的效果,用了之后都会有相见恨晚的感觉。它的文本控件支持多种格式,可随意添加各种数字、Email、地址和IP等,它还可以添加正则表达式验证和定义消息。

>>DXperience 18.2.6下载

网格
Kendo UI
Kendo UI的网格非常棒!功能很丰富,支持主从结构、行模板、行内编辑、随意翻阅和同步加载等。这里不能列出所有的功能,对Kendo UI有兴趣的朋友不妨体验一下它的Grid Demo。

DevExpress
之后我们又测试了DevExpress Grid,不愧是老牌控件,它的网格控件当然也不负众望。不过经过测试体验之后发现它的功能比Kendo UI Grid稍微要少一点,模板指定比较麻烦,主从结构无法获取,而且网格的样式也比Kendo UI要简单。

考虑到我们的项目需要大量的网格数据操作,最终我们选择了Kendo UI。当然这里不是说功能越丰富的就越好,当然要根据自己的项目需求和价格预算来综合考量,毕竟两款控件都是非常值得信赖的。

填写DevExpress 2019调查问卷免费领取红包!

活动规则:

  1. 扫描底部二维码填写调查问卷;
  2. 完成后扫描问卷底部二维码添加客服微信;
  3. 联系客服领取红包;
  4. 如有疑问请电话咨询:023-68661681。
长按或扫描下方二维码
填写DevExpress调查问卷
免费获取红包哦!
立即行动↓↓↓

实例:用户界面控件Kendo UI vs DevExpress对比评测一的更多相关文章

  1. 「版本升级」界面控件Kendo UI正式发布R2 2019|附下载

    通过70多个可自定义的UI组件,Kendo UI可以创建数据丰富的桌面.平板和移动Web应用程序.通过响应式的布局.强大的数据绑定.跨浏览器兼容性和即时使用的主题,Kendo UI将开发时间加快了50 ...

  2. 用户界面控件Telerik UI for WinForms发布R2 2019|附下载

    Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件.所有的UI for WinForms控件都具有完整的主题支持,可以轻松地帮助开发人员在桌 ...

  3. 知名界面类控件Kendo UI for jQuery R2 2019 SP1发布|附下载

    Kendo UI for jQuery提供了在短时间内构建现在Web应用程序所需要的一切.从70多个UI中选择,并轻松地将它们组合起来,创建出酷炫响应式的应用程序,同时将开发时间加快了50%. [适用 ...

  4. 甘特图、Data Editors控件新玩法—DevExpress WPF v19.2

    通过DevExpress WPF Controls,你能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案. 无论是Office办公软件的衍 ...

  5. matlab中uicontrol创建用户界面控件

    来源:https://ww2.mathworks.cn/help/matlab/ref/uicontrol.html?searchHighlight=uicontrol&s_tid=doc_s ...

  6. 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)

      前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面.   奇葩 这两天遇到 ...

  7. 32.10 使用模板更改控件的UI

    32.10  使用模板更改控件的UI 样式是改变WPF控件基本外形的非常好(且非常简单)的方式,它通过为窗口部件的特性设置建立一组默认的值,从而改变WPF控件的基本外形.但是,即使样式允许我们改变各种 ...

  8. [WPF]使用CheckAccess检测是否在控件的ui线程上执行

    private void Parallel(object sender, RoutedEventArgs e) { Task.Run(() => ChangeColour(Brushes.Red ...

  9. 页面日期选择控件--jquery ui datepicker 插件

    日期选择插件Datepicker是一个配置灵活的插件,我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加相关按钮以及其它导航等.官方地址:http://docs.jquery.com ...

随机推荐

  1. Vue-admin工作整理(十一):Vuex-动态注册模块

    概述: 动态注册模块分为两种,一种是在根state下注册一个模块,一种是在模块下再自动注册一个模块 第一种:根state下动态注册模块: 思路:通过store来实现,this.$store来获取当前的 ...

  2. Pandas 基础(16) - Holidays

    这节依然是关于时间方面的知识.上一节学习了如何获取日期序列的函数, 以及通过一些基本的参数设置可以使时间序列跳过休息日等.这一节, 将要深入学习这个点, 做更自定义的设计. 通过上一节的学习, 我们知 ...

  3. glom初级教程

    1.glom介绍 通常对于字典和json的提取我们都是使用如下方式 >>> data = {'a': {'b': {'c': 'd'}}} >>> data['a' ...

  4. 编译原理中DFA最小化

    关于编译原理最小化的操作,专业术语请移步至:http://www.360doc.com/content/18/0601/21/11962419_758841916.shtml 这里只是记录一下个人的理 ...

  5. DAY 21内存处理与正则

    一.python的垃圾回收机制 1.引用计数(垃圾回收机制的根本) 1.引用计数是用来记录值的内存地址被记录的次数的 2.每一次对值地址的引用都可以使该值的引用计数+1 3.每一次对值地址的释放都可以 ...

  6. pytest--fixture参数化的实现方式和执行顺序

    之前看到fixture函数可以通过添加,params参数来实现参数化,后续看到了悠悠 的博客,可以通过@pytest.mark.parametrize来实现,现在做一个总结 实现方式一 通过param ...

  7. JSR107缓存规范

    Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry 和 Expiry. CachingProvider定义了创建. ...

  8. pgRouting新增扩展

    环境依赖:postgresql cgal boost perl 环境变量: boost环境变量 CGAL环境变量 postgresql环境变量 1.新建C++ 空项目 2,添加common引用,更改配 ...

  9. python多线程采集

    import requests import json import threading Default_Header = { #具体请求头自己去弄 } _session=requests.sessi ...

  10. 【C#】【对象转XML】xml序列化

    笔记:xml序列化 /// <summary>        /// xml序列化        /// </summary>        /// <param nam ...