繁体   English   中英

我填写时组合框中的重复性

[英]duplicity in combo-box when i fill

我有此代码用于填充组合框

SQL = "SELECT DISTINCT Name,Num FROM MyTbl order by Name";
            adp = new OracleDataAdapter(SQL, Conn);
            adp.Fill(dsNa, "MyTbl");
            adp.Dispose();
            comFna.DataSource = dsNa.Tables[0];
            comFna.DisplayMember = dsNa.Tables[0].Columns[0].ColumnName;
            comFna.ValueMember = dsNa.Tables[0].Columns[1].ColumnName;

但是插入新名称后-我看不到下摆

在我再次运行此代码后-我看到重复记录(仅在组合框中)

如何解决呢? (我使用C#Winforms)

提前致谢

当您向数据库添加新名称时,您有两种选择:1)创建具有给定名称(和num值)的新项目并将其插入到组合框项目集合中。 2)从数据库(正在使用)重新加载组合框

唯一的问题是,在重新绑定组合框之前,需要清除组合框项目或将其数据源设置为null。

adp.Dispose();
comFna.DataSource = null; //ADD THIS LINE HERE OR comFna.Items.Clear();
comFna.DataSource = dsNa.Tables[0];
comFna.DisplayMember = dsNa.Tables[0].Columns[0].ColumnName;
comFna.ValueMember = dsNa.Tables[0].Columns[1].ColumnName;
comFna.Items.Clear();

在填充您的comboBox之前,使用此代码删除旧项目,然后重新填充它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM