ComboBox中DisplayMember和ValueMember来自数据库,显示的是姓名,实际存储的是ID,我现在想要直接输入ID,但无法实现,为什么?

时间:2021-05-07 00:10:21
ComboBox中DisplayMember和ValueMember来自数据库,显示的是姓名,实际存储的是ID,我现在想要直接输入ID,但无法实现,为什么?

我保存时是这样使用的:
ComboBox_staff.SelectedValue

这样可以从列别中选择,但输入ID号不可以

为什么呢?

6 个解决方案

#1


你选择姓名的时候,SelectedValue就是与这个姓名对应的ID。

当你输入ID的时候,同样是默认为姓名(DisplayMember),ID(ValueMember)找不到。

你为什么要这样做?一般使用DisplayMember、ValueMember是不使用输入的,只是选择!

#2


ComboBox_staff.SelectedValue对应的是ValueMember , 而ComboBox的Text里显示的是DisplayMember
当然不行了,除非你用ComboBox_staff.Text保存

#3


第二问:
能否用其他方法解决这个问题呢?即能从列表中选择姓名,也可以直接输入ID号呢?

请高手指教!

#4


你可以在界面上做一个checkbox,选择是选择方式,还是手动输入id,这样界面操作也清晰,程序也好设计

#5


用一个textbox 加上的listView做一个组合控件。在textbox回车时加载到listview中选择数据。

#6


在后台判断一下就可以拉。

#1


你选择姓名的时候,SelectedValue就是与这个姓名对应的ID。

当你输入ID的时候,同样是默认为姓名(DisplayMember),ID(ValueMember)找不到。

你为什么要这样做?一般使用DisplayMember、ValueMember是不使用输入的,只是选择!

#2


ComboBox_staff.SelectedValue对应的是ValueMember , 而ComboBox的Text里显示的是DisplayMember
当然不行了,除非你用ComboBox_staff.Text保存

#3


第二问:
能否用其他方法解决这个问题呢?即能从列表中选择姓名,也可以直接输入ID号呢?

请高手指教!

#4


你可以在界面上做一个checkbox,选择是选择方式,还是手动输入id,这样界面操作也清晰,程序也好设计

#5


用一个textbox 加上的listView做一个组合控件。在textbox回车时加载到listview中选择数据。

#6


在后台判断一下就可以拉。