comobox问题
有个table:dtfare 里面有三个字段:名称,id,代码,如:1,001, 小明
我想只是显示 名称:小明。
可以在combobox输入代码。001,就显示小明。取值的时候只需要取相应的id
请问如何绑定?
普通的绑定只是这样:
Me.Fcb.DataSource = dtFare
Me.Fcb.DisplayMember = "名称"
Me.Fcb.ValueMember = "id"
Me.Fcb.SelectedIndex = 0
用这个取得id
Me.Fcb.SelectedValue
达不到我的要求
问题点数:0、回复次数:12Top
1 楼hq1305018(跃强)回复于 2003-09-02 18:09:32 得分 0
这样绑定一定是正确的,你的问题应该出在其它地方。Top
2 楼dyss(dyss)回复于 2003-09-02 23:23:22 得分 0
我的要求是这样的
有个table:dtfare 里面有三个字段:名称,id,代码,如:1,001, 小明
我想只是显示 名称:小明。
可以在combobox输入代码。001,就显示小明。取值的时候只需要取相应的id
请问如何绑定?Top
3 楼canyqf()回复于 2003-09-02 23:39:55 得分 0
有一点不明白:
你既要输入又要显示,那我一个combobox究竟显示你输入的代码?还是显示你要显示的名称呢?Top
4 楼rouser(流淌的小溪)回复于 2003-09-03 09:47:32 得分 0
Me.Fcb.DataSource = dtFare.DafaultView
Me.Fcb.DisplayMember = "名称"
Me.Fcb.ValueMember = "id"
Me.Fcb.SelectedIndex = 0
'在Fcb的TextChange事件裡面
Dim dv AS New DataView(dtFare)
dv.RowFilter = "代碼='" & Me.Fcb.Text & "'"
If dv.Count > 0 Then
Me.Fcb.SelectedValue = dv[0]["id"]
End If
抱歉:我不大會寫Vb.net的代碼,錯誤之處請自行更正,呵呵
Top
5 楼fankun(@BrokenWorld我是上帝的玩偶@)回复于 2003-09-03 10:33:30 得分 0
我看你应该用到数据库啊!
你又要输入,同时又要输出,这在一个控件中恐怕难以实现啊Top
6 楼dyss(dyss)回复于 2003-09-03 16:37:45 得分 0
我用到数据库
我就是想。combobox已经绑定了,但是绑定的数据太多了,有50条,如果下拉的话,很难找到。
看看可以用什么方法,除了可以下啦选择,还可以直接在combobox里输入,代码来查找,就是说有查找功能。例如,我输入050,就可以选到代码为050的客户,跟直接用鼠标选择一样。Top
7 楼BeyondLove2000(马)回复于 2003-09-03 16:51:30 得分 0
写combobox的事件吧,然后查找Top
8 楼isage2002(共享:《2003-2005vb.net开发秘诀与范例大全》)回复于 2003-09-03 23:22:20 得分 0
其实问题很简单
我们fill dataset时,所用的sql语句,必须把value的放在第一位
如
select id,名称,代码 from .......
不应该
select 名称,id,代码 from .......Top
9 楼fankun(@BrokenWorld我是上帝的玩偶@)回复于 2003-09-07 04:56:21 得分 0
快点UP,支持楼主!Top
10 楼dyss(dyss)回复于 2003-09-09 09:15:57 得分 0
xiexie
up~~Top
11 楼kexian(小可)回复于 2003-09-09 10:05:01 得分 0
干脆把Id 与"名称"全部加入combobox控件中
再把控件的DropDownList属性设为DropDownList就行了Top
12 楼sualtring(VIP)回复于 2003-09-09 12:06:17 得分 0
textchange 事件一般最好不用 消耗系统 同意楼上的做法Top




