c#中datatable绑定comboBox显示数据有重复怎么处理?取值时未用SQL语句。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#中datatable绑定comboBox显示数据有重复怎么处理?取值时未用SQL语句。相关的知识,希望对你有一定的参考价值。
将datatable进行重复值过滤。第一种方法循环每一行进行重复值删除
第二种方法比较简单 直接用datatable的内部方法
dataview dv=datatable。defultview
dv.todatatable(true,你想要的列) --true表示是否过滤重复项 参考技术A 取值就有重复 显示就有重复
对应去的的数据集进行去重
在绑定 参考技术B 你看下 datatable 的值是什么? 是不是取值的时候就重复了。
datatable绑定comboBox,在下拉菜单中显示对应数据
实现功能: datatable绑定comboBox,在下拉菜单中显示对应数据 实现方法: 1、生成datatable,并为combox绑定数据源: comboBox1.DataSource = dt1; comboBox1.DisplayMember = "用户编码"; comboBox1.ValueMember = "ID"; this.comboBox1.SelectedIndex = -1; 2、在combox的SelectedIndexChanged事件中添加如下方法: private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { int iCurrentIndex = this.comboBox1.SelectedIndex; if (iCurrentIndex < 0) return; DataRow dr = dt1.Rows[iCurrentIndex]; iID = Int32.Parse(dr["ID"].ToString()); } 另:如果textBox也想绑定该数据源,实现连动(如输入编码显示对应名称) 3、在textBox的TextChanged事件中添加如下方法: private void textBox1_TextChanged(object sender, EventArgs e) { string strUserNo = this.textBox1.Text.Trim(); for (int i = 0; i < dt1.Rows.Count; i++) { if (dt1.Rows[i]["用户编码"].ToString() == strUserNo) { this.comboBox1.SelectedIndex = i; break; } else { this.comboBox1.SelectedIndex = -1; } } }
以上是关于c#中datatable绑定comboBox显示数据有重复怎么处理?取值时未用SQL语句。的主要内容,如果未能解决你的问题,请参考以下文章
C# winform中 界面加载时datagridview绑定了数据源(datatable),修改datagridview的内容后,如何更新数