我对combobox重写了下,支持多列显示,并且支持筛选,现在碰到个问题,比如我选择 商品编码为 0013,规格为45的冬菇,
选择后,用户想重新选择下商品,发现现在的选择项 是落在商品编码为 0012,规格为40的冬菇上面, 就是变成了 商品名称相同,但是编码,规格不同的第一个商品上面
给用户造成一种误解
这个怎么解决
不会看的就是我那篇博文吧。过两天就准备升级下,支持筛选和多选。 如果你急的话加我的群或者QQ,把需求发过来,帮你屡屡。 (PS:白天公司上不了外网)
昨晚给你发的demo,解决问题了吗?
首先谢谢你的demo,这几天出差了,
这个demo和我想要的有点差距,晚上QQ
前几天好像有人在园子里发了一篇类似功能的文章
那篇我看了,是多列,但是没有筛选功能。
既然你都能重写了,这里根据编号去匹配就可以了吧。不要根据名称匹配,名称肯定是匹配第一个。或者名称变成名称+规格,这样也行
我在OnDropDown 时间中,下拉选择项中设置 重新SelectedIndex后,都改变不了这种情况,还是选择同名称的第一项,不是具体选择的哪项
应该是匹配项错误了,应该选不唯一的列作为匹配项。
我在OnDropDown 时间中,下拉选择项中设置 重新SelectedIndex后,都改变不了这种情况,还是选择同名称的第一项,不是具体选择的哪项
NAME是不唯一的,名称+规格是唯一的,编码也是唯一的
但是Text 属性不可能做出显示编码,那样用户怎么辨别
@老WH虎: 如果考虑将名称+规格合并为一个字段。这样就唯一了。如“冬菇-0012”,“冬菇-0013”。
建议用一个datagridview 放在输入框的下面不是更简单方便美观么?
重写这个控件很麻烦的,要解决性能问题,推荐用第三方控件库,比如DEV
每个选项背后的Value并不是唯一的,你3个冬菇的Value是一样的,就默认匹配了符合的第一条
3个冬菇的Value 不一样
@老WH虎: 搜索框重新匹配的时候可能是根据你的第二列(冬菇文字所在列)来匹配的。
尝试一下:1.把3个冬菇替换成不一样的名称。
2.搜索框重新匹配的时候根据其选项背后的Value来匹配。
3.搜索框重新匹配的时候根据其中的2列、或者第1列来匹配。