问:vs2010中combobox的selecteditem取值!

coble 2014-05-05 09:46:44
vs2010 C#在开发winForm时
设置combobox的
DataSource绑定数据源;
AutoCompleteMode = SuggestAppend;
AutoCompleteSource = ListItems;
测试:
在combobox中输入1时可以在combobox显示值:1 客户1;如果这时直接点击执行按钮,提示selecteditem 为null;
通过跟踪selectedtext为:1 客户1;那为什么selecteditem的值为null呢?
有谁知道吗?请帮忙,谢谢!

listItem中有
1 客户1
2 客户2
...
...全文
491 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
coble 2014-05-10
  • 打赏
  • 举报
回复
谢谢楼上的回复!
引用 3 楼 caozhy 的回复:
你绑定的是自动完成的数据源而不是ComboBox的。
我是通过这样来绑定comboBox的DataSource this.cmbCompany.DataSource = service.GetAllCustomer();//直接绑定了对象; 版主你说的是这样绑定不对吗?应该怎么绑?谢谢
於黾 2014-05-06
  • 打赏
  • 举报
回复
要么你自己做个遍历去比较文本是否在列表中存在
於黾 2014-05-06
  • 打赏
  • 举报
回复
手动向combobox中填写文本会导致selectedIndex=-1 所以你要么直接取combobox.text 要么设置combobox不可以手动填写
EdsionWang 2014-05-06
  • 打赏
  • 举报
回复
selectedItem.Text 取到选中项的文本值
threenewbee 2014-05-05
  • 打赏
  • 举报
回复
你绑定的是自动完成的数据源而不是ComboBox的。
tanta 2014-05-05
  • 打赏
  • 举报
回复
SelectedItem是指当前选定项的对象,而不是文本 SelectedItem 属性设置为一个对象时,ComboBox 尝试使该对象成为列表中当前选定的对象。如果在列表中找到了该对象,则将它显示在 ComboBox 的编辑部分,并且将 SelectedIndex 属性设置为相应的索引。如果列表中不存在该对象,则 SelectedIndex 属性保留其当前值。 comboBox.SelectedText:表示组合框中当前选定文本的字符串,如果 DropDownStyle 设置为 comboBoxStyle.DropDownList,则返回值为空字符串 ("")。 comboBox.SelectedValue:包含由 ValueMember 属性指定的数据源成员的值的对象。 string str=(string)comboBox.SelectedItem; 可以获得comboBox当前项的值 string str=comboBox.Text; 同样也可以获得当前项的值 comboBox.SelectedItem: 这是一个对象 comboBox.SelectedText:是指你当前选中第几个字符,不是第几项。比如:“你好吗”如果你用鼠标选中了“好”,那么 comboBox.SelectedText就是当前项的第二个字符。比如当前项是:“小青蛙”,那么comboBox.SelectedText的值就 是“青”。comboBox的DropDownStyle必须Simple comboBox.SelectedValue:返回ValueMember指定的字段的值。
threenewbee 2014-05-05
  • 打赏
  • 举报
回复
AutoComplete的下拉和ComboBox的下拉是两回事。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧