combobox实现模糊查询自动填充
利用winform设计软件界面时,经常用到combobox控件,但有时需要绑定数据表中的数据,更进一步,需要实现对数据表中数据的模糊查询功能。本文就讲讲述如何用C#实现combobox下拉列表的模糊查询。
首先,将数据库某数据表中某列数据绑定到combobox。
(1)选定数据表,获取数据
public static DataTable getAllData(string dbName)
{
string sql = @"SELECT * FROM " + dbName;
//sql数据库操作命令
DataTable dt = DBOperSQL.GetDataTable(sql);
return dt;
}
dbName为选定的数据表名称,如何在C#中连接数据库,进行数据操作,在上一篇C#操作access和sql server数据库代码实例中,已经讲述,在此不再赘述。
(2)将某列数据绑定到combobox。
public void cmbDownItem(string dbName,string columnName,ComboBox cmb)
{
DataTable dtCmbCompany = DBOper.getAllData(dbName);
if (dtCmbCompany.Rows.Count > )
{
cmb.DataSource = dtCmbCompany;
cmb.DisplayMember = columnName;
//未起作用
cmb.ItemHeight = ;
cmb.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
cmb.AutoCompleteSource = AutoCompleteSource.ListItems;
}
else
{
MessageBox.Show("数据表为空");
}
}
dbName为需要绑定的数据表名称,columnName为要绑定的数据表该列的列名,cmb为combobox控件的名称。
然后,实现模糊查询的功能。获取combobox控件输入的字符串,查找包含该字符串的数据表中绑定列的元素,自动填充到combobox控件的下拉列表项。
代码实例:
/*autoComplete 是实现combobox自动筛选填充的方法,根据cmb输入,筛选出包含改词的items
* 输入 dbName,cmb,txt,column 分别为数据表名,cmb名,cmb内容,和数据表列号(从0开始)
*/
public void autoComplete(string dbName, ComboBox cmb,string txt,int columnNum)
{
DataTable dtCmbCompany = DBOper.getAllData(dbName); //string s = dtCmbCompany.Rows[1][1].ToString();
string s;
//ListAll获得该列所有数据
//ListSelect筛选出符合要求的数据
List<string> ListAll = new List<string>();
List<string> ListSelect = new List<string>(); for(int i = ; i < dtCmbCompany.Rows.Count; i++)
{
s = dtCmbCompany.Rows[i][columnNum].ToString();
ListAll.Add(s);
} //MessageBox.Show(dtCmbCompany.Rows.Count.ToString()); //选择数据
cmb.Items.Clear();
//清空listNew
ListSelect.Clear();
//遍历全部备查数据
foreach (var item in ListAll)
{
if (item.Contains(txt))
{
//符合,插入ListNew
ListSelect.Add(item);
}
} //cmb.DataSource = ListSelect;
cmb.Items.AddRange(ListSelect.ToArray());
// MessageBox.Show(ListSelect[1]);
cmb.SelectionStart = txt.Length;
//Cursor = Cursors.Default;
cmb.DroppedDown = true; }
上面就是如何使用C#给combobox控件绑定数据表列,并且根据输入字符串实现模糊查询的代码实例。最基础的数据库操作代码,在上一篇文章有已经讲到。
初学C#,错误之处,还请指教。
combobox实现模糊查询自动填充的更多相关文章
- easyUI combobox combotree 模糊查询,带上下键选择功能,待完善。。。。
/2017年4月9日 11:52:36 /** * combobox和combotree模糊查询 * combotree 结果带两级父节点(手动设置数量) * 键盘上下键选择叶子节点 * 键盘回车键设 ...
- easyui combobox 左匹配模糊查询
之前一直不知道,easyui 的combobox还有从左匹配查询显示数据的. 样式是这样的:(这是数据是已经存在下拉列表里的) 在这样操作的时候,遇到了一个问题.(其实也不算问题的). 就是操作人员在 ...
- 实现combobox模糊查询的时候报错 InvalidArgument=“0”的值对于“index”无效
因为要对combobox实现模糊查询,因为系统实现的匹配只能从左到右进行匹配,所以利用两个list来进行模糊匹配,主要代码如下: List<string> listOnit = new L ...
- ElementUI Tree控件在懒加载模式下的重新加载和模糊查询
之所以使用懒加载是为了提高性能,而且只有在懒加载模式下默认会给所有显示节点设置展开按钮.leaf也可以做到,但是要操作数据比较麻烦. 要实现懒加载模式下的模糊查询以及重新加载必须要使用data与laz ...
- 模糊查询基于select遍历json文件自动填充的实现
HTML页面 <tr> <td align="left"><span>案由</span> <input type=" ...
- 【EasyUI】combotree和combobox模糊查询
这里说的模糊查询指在输入框输入,然后自动在下拉框中显示匹配结果,类似Google搜索提示 EasyUI库已经实现了combobox的查询过滤功能,但只能从头匹配,原因是EasyUI库的代码限制: fi ...
- winform中ComboBox利用AutoComplete属性实现模糊查询(有缺陷)
上一篇文章是用ComboBox里面的原生事件实现模糊查询,操作比较灵活一些,但是收到评论说,利用AutoComplete属性就可以实现模糊查询,但是据本人所了解,AutoComplete虽然能够方便的 ...
- comboBox绑定数据库、模糊查询
实现: 一.绑定数据库 点击查询按钮,comboBox显示从数据库查到的某字段的一列数据 方法:在按钮的点击事件绑定数据库 private void button1_Click(object send ...
- Winform如何实现ComboBox模糊查询
最近朋友问了一个关于Winform实现ComboBox模糊查询的知识点,自己好久没有搞Winform了,就上手练了一下,废话不多说,进入正题. 前台设计: 前台就是一个简单的Form窗体+一个Comb ...
随机推荐
- 如何在ASP.NET Core中实现CORS跨域
注:下载本文的完整代码示例请访问 > How to enable CORS(Cross-origin resource sharing) in ASP.NET Core 如何在ASP.NET C ...
- Python--基础知识
- 庆祝下,提交了第一个ceph pull request。实现了从0到1的突破
庆祝一下!经过社区老司机的带路,昨天提交了第一个ceph pull request.实现了从0到1的突破,希望再接再厉提交更多代码到社区,为社区发展贡献一点自己力量. 提交的第一个被社区fix的bug ...
- SpringMVC注解汇总(二)-请求映射规则
接上一节SpringMVC注解汇总-定义 讲到Httpy请求信息 URL路径映射 1)普通URL路径映射 @RequestMapping(value={"/test1", &quo ...
- 【BZOJ 1016】【JSOI 2008】最小生成树计数
http://www.lydsy.com/JudgeOnline/problem.php?id=1016 统计每一个边权在最小生成树中使用的次数,这个次数在任何一个最小生成树中都是固定的(归纳证明). ...
- [转]如何循序渐进向dotnet架构师发展
微软的DotNet开发绝对是属于那种入门容易提高难的技术.而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的.特别是在大 型软件项目中,架构师是项目核心成员,承上启下,因此RU ...
- 【转】OpenGL多线程创建纹理,附加我的测试结果
原文地址 http://www.cnblogs.com/mazhenyu/archive/2010/04/29/1724190.html 关于这个问题以前只知道多个线程不能同时使用一个RC,结果为了能 ...
- javascript json字符串与对象相互转换
在实际项目中,经常遇到字符格式的问题,记下来以便日后方便查看.用到两个函数:JSON.stringify() 和 JSON.parse(). 使用ajax向后台请求数据,后台给前端返回数据,明明后端脚 ...
- word中表格加粗某一行
选中表格后选择线条粗细. 然后重新绘制一遍就行了.
- 分享一些平时测试用的sql payloads
1:BOOL SQLINJECTION \'"%df'%df" and 1=1 and 1=2' and '1'='1' and '1'='2" and "1& ...