繁体   English   中英

组合框短路未将键入的值放在前面

[英]Combobox shorting not bringing the typed value to front

我有两个组合框,一个是产品ID,另一个是产品名称。 对于这两个组合框,我都将相同的DataTable分配为datasourse。

我的组合框属性如下

cmbprID.DataSource = prdList;
cmbprID.DisplayMember = "PRD_ID";
cmbprID.ValueMember = "PRD_ID";

cmbprName.DataSource = prdList;
cmbprName.DisplayMember = "PRD_NAME";
cmbprName.ValueMember = "PRD_NAME";

并且自动完成模式=无

 Sorted=false

现在,当我运行程序时,所有数据都将正确加载。 当我尝试键入时,它正在缩短数据,但有时某些数据没有显示出来。 但是该数据在下拉列表中可用。

按照我采取的步骤解决

  • Shorted = true;

为此,一切正常。 但是问题是,它不是针对我选择的PID选择产品名称。 原因是组合框对数据进行排序,因此索引值会发生变化。

  • 我的SQL查询中的ORDER BY PRODUCT_ID ASC。

即使这样也行不通。 但是它的准确性在初期是更好的。

cmbprName.DisplayMember = "PRD_NAME";
cmbprName.ValueMember = "PRD_ID";
cmbprName.Sorted=true;

但是没用

请帮助我

我会用Shorted=true; ValueMember设置为ID而不是同一显示成员。 那么您可以从同一组合框中获取选定的文本和值。

cmbprName.DataSource = prdList;
cmbprName.DisplayMember = "PRD_NAME";
cmbprName.ValueMember = "PRD_ID";

暂无
暂无

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

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