C#实现Combobox自动匹配字符
不多说了,如图,应客户要求,下拉框中需要自动匹配字符,可能有些人一早就对此很熟,但相对于我还是首次使用,还是花了一点时间,现记录下来,也希望能帮助大家更好的理解.
首先要设定Combobox的DropDownStyle属性为DropDown,而不是DropDownList.然后设定匹配数据源,有两种方法
第一种.采用CustomSource当做提示集合,自已构造的下拉提示内容.
- //经营单位
- AutoCompleteStringCollection strings = new AutoCompleteStringCollection();
- DataTable dt = customformOp.CusList().Tables[];
- if (dt.Rows.Count > )
- {
- //cmbTRADE_CO.DisplayMember = "CusName";//显示字段
- //cmbTRADE_CO.ValueMember = "Cus";
- //cmbTRADE_CO.DataSource = dt;
- //cmbTRADE_CO.SelectedIndex = -1;
- for (int i = ; i < dt.Rows.Count; i++)
- {
- strings.Add(dt.Rows[i]["CusName"].ToString());
- }
- }
- cmbTRADE_CO.AutoCompleteCustomSource = strings;
- cmbTRADE_CO.AutoCompleteSource = AutoCompleteSource.CustomSource;
- cmbTRADE_CO.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
第二种.直接使用下拉列表中的项作为匹配的集合 (请仔细看两代码的区别: cmbTRADE_CO.AutoCompleteSource =??)
- // AutoCompleteStringCollection strings = new AutoCompleteStringCollection();
- DataTable dt = customformOp.CusList().Tables[];
- if (dt.Rows.Count > )
- {
- cmbTRADE_CO.DisplayMember = "CusName";//显示字段
- cmbTRADE_CO.ValueMember = "Cus";
- cmbTRADE_CO.DataSource = dt;
- cmbTRADE_CO.SelectedIndex = -;
- //for (int i = 0; i < dt.Rows.Count; i++)
- //{
- // strings.Add(dt.Rows[i]["CusName"].ToString());
- //}
- }
- // cmbTRADE_CO.AutoCompleteCustomSource = strings;
- cmbTRADE_CO.AutoCompleteSource = AutoCompleteSource.ListItems;
- cmbTRADE_CO.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
其AutoCompleteMode的4种情况各代表:
None:关闭自动补全功能
Suggest:展开下拉列表并显示匹配的结果
Append:自动补全
SuggestAppend:Suggest和Append的组合,即显示下拉列表也自动补全。
最终结果效果图:
C#实现Combobox自动匹配字符的更多相关文章
- Android 之 自动匹配字符AutoCompleteTextView
AutoCompleteTextView是自动匹配字符,当我们输入一个单词或一段话的前几个字时,就会自动为你匹配后面的内容看效果图: 下面是代码: MainActivit: package com.e ...
- c# 实现ComboBox自动模糊匹配
ComboBox自带有属性可以实现自动匹配,但是它有一个弊端,只能从头开始匹配,例如"李四LS",只能输入“李四”或"李"才能匹配出来,而输入"LS& ...
- C# ComboBox自动完成功能的示例
先看一下关键代码: DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("VV& ...
- Android控件之MultiAutoCompleteTextView(自动匹配输入的内容)
一.功能 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发送短信,发邮件时选择联系人这种类型中 二.独特属性 android:comp ...
- Android控件之AutoCompleteTextView(自动匹配输入的内容)
一.功能 动态匹配输入的内容,如百度搜索引擎当输入文本时,可以根据内容显示匹配的热门信息 二.独特属性 android:completionThreshold = "2" — ...
- 在C#中使用正则表达式自动匹配并获取所需要的数据
转自:http://my.oschina.net/bv10000/blog/111736 正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等).正则表达式功能强大,使用 ...
- Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容
AutoCompleteTextView MultiAutocompleteTextView 这两个控件长的很相似,功能也很相似. AutoCompleteTextView 功能: 动态匹配输入的内容 ...
- 自动匹配输入的内容(AutoCompleteTextView及MultiAutoCompleteTextView)
自动匹配输入的内容 AutoCompleteTextView 1.功能动态匹配输入的内容,如百度搜索引擎当输入文本时,可以根据内容显示匹配的热门信息 2.属性:android:completionTh ...
- DataGridView单元格内容自动匹配下拉显示
页面显示数据使用的控件是ComponentFactory.Krypton.Toolkit中的KryptonDataGridView控件.在指定“商品”单元格中需要根据用户输入内容自动匹配数据库中商品信 ...
随机推荐
- NodeJS模块
node> module { id: 'repl', exports: { writer: { [Function: inspect] colors: [Object], styles: [Ob ...
- Python的sched模块
我们经常需要定时的执行某个任务,在Linux下我们有强大的crontab,但是在Python这个粒度(定时执行函数),如何处理呢?除了第三方的模块外,标准库为我们提供了sched模块和Timer类. ...
- 使用poi解析Excel
解析XLS package xls; import java.io.FileInputStream; import java.io.IOException; import java.io.InputS ...
- Android的Adapter用法
1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(ListView,GridView)等地方都需要用到Adapter.如下图直 ...
- nsDATA 转结构体
很多时候需要将c,c++形式的struct转换为 NSData来处理.但是怎么转换呢? 假设有这么一个结构体: struct MYINFO { int a; long b; char c ...
- js String方法集合
//https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String//返回对应索引的字符 ...
- MVC弹出子页面向父页面传值
实现思路是使用js在父子页面间传值 视图一代码,父页面 @{ ViewBag.Title = "Index"; } <script type="text/javas ...
- 数据结构(11) -- 邻接表存储图的DFS和BFS
/////////////////////////////////////////////////////////////// //图的邻接表表示法以及DFS和BFS //////////////// ...
- linux中的配置文件
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个 ...
- 总结调用Flash的几种方法
一.Adobe 提供的方法 <object width="200" height="200" classid="clsid:D27CDB6E-A ...