我的机器上,Winform 控件中的 LookUp 有1+3 种,在我们国家也被称为 4 种,你们那儿呢?

这 1+3 种 LookUpEdit 分别是 LookUpEdit、GridLookUpEdit、SearchLookUpEdit 和 TreeListLookUpEdit,之所以我用 1+3 种是因为个人觉得 LookUpEdit 是最简单的,也是最基础的一种,其它三个应该都是衍生的。

英文中,Look Up 有查找和向上看的意思,挺形象,先总结一下它们共性部分:

1. 都可以使用数据绑定来快速填充数据,但它们对数据源的指定都是其 Properties.Source 属性,并不直接在其属性内,由此可见,所有 LookUp 其实都是个壳,是个组合控件。

2. 指定了 Source 后,可以不用管其如何显示,因为它们默认工作的就很好

3. 除了 LookUpEdit 外,其它三位点击选定任何一项后,如果不作处理,其返回的就是一个 DataRowView,所以需要人为处理一下,才能显示或是获得正确的选择结果

4. 如果撇开什么性能、开销之类的事儿,选择哪种 LookUp 看起来都很相似,当然,如果比较懒惰可以选择 SearchLookUpEdit,因为它自带一个搜索框,直接就给你提供了搜索功能。

所说各自的特点:

LookUpEdit:我觉得最简单,就像普通的 ComboBox 一样使用即可,将 AutoComplete 设置为 true,配合 ImmediatePopup = true(用户输入字符立即弹出内容窗口)和 SearchMode,即可化身成为专业软件界面。个人感觉 SearchMode 设置为 AutoFilter 比较舒服,不但可以自动过滤不符合输入条件的项目,而且不会“阻塞”用户输入,比较自然符合习惯,不像 AutoComplete,是更智能但感觉很楞的就打断了用户的动作,用户不知道为什么就不能输入了,是坏了、错了还是死机了?

GridLookUpEdit:个人意见,如果没有什么额外查找要求,或是仅用来显示数据较少的二维表格,用它比较合适,因为看名字一目了然,就是个 Grid。

SearchLookUpEdit:个人比较推荐,既能显示数据,又自带查找,个人工具也能瞬间高大上,为何不用。

TreeListLookUpEdit:以 TreeList 的样式显示数据,看起来和 GridLookUpEdit几乎一模一样,因为我的演示数据是 DataTable,所以没有表现出其与 GridLookUpEdit 的区别,其实我想区别也不大,无外乎一个嵌套的是 Grid,一个嵌套的是 TreeList。

如何选用:

LookUpEdit:单列、极简、无格式数据,配合我说的几个属性,用起来顺手看起来专业

GridLookUpEdit:因其嵌套 Grid 缘故可以放入大型数据,但毕竟是 LookUp,个人认为还是避免放入大型数据

SearchLookUpEdit:最推荐,瞬间程序高大上

TreeListLookUpEdit:除非有树形数据,否则跟 GridLookUpEdit 一样,没什么显著用处。

DevExpress 学习使用之 LookUpEdit的更多相关文章

  1. DevExpress学习01——下载与安装

    记得刚接触编程时,虽然实现了功能,但用户界面十分丑陋,老师叫我们美化一下界面,不要千篇一律,当时觉得能够写出来功能就洋洋得意了,不觉得界面丑陋.后来,在程序比赛中,我接触了一种第三方控件,它可以快速实 ...

  2. DevExpress控件之LookupEdit,ComboBoxEdit

    ComboBoxEdit 1.  ComBoxEdit没有DisplayMember  和  ValueMember 属性,只能获取显示的值2.当前选定值comboBoxEdit1.Propertie ...

  3. DevExpress学习系列(控件篇):GridControl的基本应用

    一般属性设置 不显示分组框:Gridview->Option View->Show Group Panel=false 单元格不可编辑:gridcontrol -->gridview ...

  4. DevExpress学习笔记1-ProductsDemo.Win

    最近在学习ProductsDemo.Win,有一些体会记录下来,大家分享: 在Contacts模块: 在Private Sub UpdateCurrentContact()过程添加一句:InitInd ...

  5. DevExpress学习1

    为了程序的美观设计,决定用dev控件. 第一步,去官网下载了试用30天的安装包,官网地址:https://www.devexpress.com/,安装完成. 第二步,开始程序下找到DevExpress ...

  6. DevExpress 学习使用之 SplitContainerControl

    无论是 .net framework 自带还是第三方组件,使用 Split 类控件时通常其 Panel 中都会包含多个子控件,在运行时不可避免遇到因改变 splitter 位置或改变窗体大小引起的界面 ...

  7. DevExpress 学习使用之 TreeList

    1. 必须先添加列,否则不能显示任何节点内容 2. 如果是代码添加列时,一定要写明 VisibleIndex = 几,没有这句,不显示 3. 顶级结点用 TreeList.AppendNode 来添加 ...

  8. DevExpress 学习使用之 Skin

    新建了一个XtraForm,设置属性里的皮肤属性却不能实现,群里朋友发过来一个简单的换肤项目 1. 先觉条件似乎是窗体应该继承“public partial class XtraForm1 : Dev ...

  9. DevExpress 学习使用之 PrintSystem

    这是来自群里边的一段,收集起来,碎片知识是很珍贵的.  傷心孤影(2072201)  16:14:41导出excel加标题用PrintableComponentLink小宝(462561442)  1 ...

随机推荐

  1. 使用CNN(convolutional neural nets)关键的一点是检测到的面部教程(四):学习率,学习潜能,dropout

    第七部分 让 学习率 和 学习潜能 随时间的变化 光训练就花了一个小时的时间.等结果并非一个令人心情愉快的事情.这一部分.我们将讨论将两个技巧结合让网络训练的更快! 直觉上的解决的方法是,開始训练时取 ...

  2. UVA11983 - Weird Advertisement(扫描线)

    UVA11983 - Weird Advertisement(扫描线) 题目链接 题目大意:给你n个覆盖矩形,问哪些整数点是被覆盖了k次. 题目大意:这题和hdu1542是一个题型.可是这题求的是覆盖 ...

  3. js中,(function(){})()的用法解析

    (function($){...})(jQuery)  含义 经常用,今天总结一下,下文摘自某网友的总结: (function($){...})(jQuery)实际上是匿名函数,不懂得朋友可以继续往下 ...

  4. C#程序读取MAC地址的五种方法(转)

    public class GetMac { ///<summary> /// 根据截取ipconfig /all命令的输出流获取网卡Mac ///</summary> ///& ...

  5. EasyUI combox实现联动

    多的时间将被用于combox联动效应.一个选择combox的值自己主动出这值有关相应的其他信息,例如省市联动.最近,我刚刚会见了班似要求,随着EasyUI  combobox 控制完成.假设ASP.N ...

  6. android网络操作使用汇总(http)

    Android是作为智能手机的操作系统,我们开发的应用,大多数也都须要连接网络,通过网络发送数据.获取数据,因此作为一个应用开发人员必须熟悉怎么进行网络訪问与连接. 通常android中进行网络连接通 ...

  7. EF结合SqlBulkCopy

    EF结合SqlBulkCopy在项目中的使用 这是我第一次写博客,由于水平有限,写不出什么好东西,还望见谅. 我现在参与的这个项目采用的是EF框架,方便了数据库的访问.但在实际中,发现项目中导入市县E ...

  8. 移动客户端与服务端Session那点秘密

    众所周知,做过Web开发的小伙伴可能知道,在浏览器向服务器发一个请求,服务器端会为当前的访问者创建一个session会话,随着浏览器的关闭而会话结束.但是移动客户端咋整呢(IOS/Android啥的) ...

  9. java设计模式之七装饰器模式(Decorator)

    顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下: Source类是被装饰类,Decorator类是一个 ...

  10. leetcode第39题--Combination Sum II

    题目: Given a collection of candidate numbers (C) and a target number (T), find all unique combination ...