以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]窗口中combobox的用法 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33656) |
||||
-- 作者:chnfo -- 发布时间:2013/5/22 11:46:00 -- [求助]窗口中combobox的用法 现在有Con和ConL两个表。并新建一个窗口 在窗口中,要根据combobox的选择来确定窗口中表的显示内容。 combobox的数据源来自于Con表,可以下拉选择行,要求打开窗口就有一个默认值 窗口中表的显示内容的Filter 是 ConID = 当前combobox选择的行对应的_identify
[此贴子已经被作者于2013-5-22 12:12:27编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/5/22 11:52:00 -- 能不能再描述清楚一点你的需求. |
||||
-- 作者:chnfo -- 发布时间:2013/5/22 23:12:00 -- 又试了一下,基本解决问题。 但还有一个地方,请教一下,如何让这个combox的显示内容与下拉列表的内容一样。 例如下拉选择A时,combox里显示也是A,而不是显示值“A”对应的ID值1 下拉选择B时,combox里显示也是B,而不是显示值“B”对应的ID值2 如果用cmb.text = dr("Title"),理论上应当可行,但实际执行时报错。 该当如何解决呢? 传不了附件,直接代码 窗口1_AfterLoad \'选择一个默认值 Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1") cmb.DisplayMember = "title" \'设置显示列 cmb.ValueMember = "_Identify" \'设置取值列 cmb.DataSource = "Con" cmb.SelectedIndex = 0 \'用这个可以设置默认值吗? Dim dr As DataRow = cmb.SelectedItem Dim t As Table = Tables(e.Form.Name & "_TablePL") t.Fill("select * from {ConL}" , False) If dr IsNot Nothing Then t.Filter = "ConID = " & dr("_Identify") Else t.Filter = "False" End If 窗口1_ComboBox1_SelectedIndexChanged Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1") Dim dr As DataRow = cmb.SelectedItem Dim t As Table = Tables(e.Form.Name & "_TablePL") If dr IsNot Nothing Then t.Filter = "ConID = " & dr("_Identify") Else t.Filter = "False" End If [此贴子已经被作者于2013-5-22 23:50:59编辑过]
|
||||
-- 作者:chnfo -- 发布时间:2013/5/23 7:39:00 -- 把取值列改为Title即可 |