以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]combobox的下拉高度变化再议!--已解决 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=44143) |
||||
-- 作者:jnletao -- 发布时间:2013/12/24 10:16:00 -- [求助]combobox的下拉高度变化再议!--已解决 昨天发了一个帖子,combobox的下拉高度用代码设置 ,bin老师给了一个方法,在afterload里先给combobox赋值,TextChanged变化时就适应了.但应用中发现有时高度还是与项目内容不匹配。 于是我便又改变了在textchanged中的赋值方式,不在采用item.add() 而是采用 combolist的方法,这时下拉高度就完全正常了。 If e.Sender.text.Length= 1 Then Dim comliststr As String Dim drList As List(of DataRow) = DataTables("表A").Select("第一列 = \'" & e.Sender.text & "\'") If drList.count > 0 Then e.Sender.text = drList(0)("第二列") e.Sender.SelectionStart=1 For Each dr As DataRow In drList comliststr = comliststr & "|" & dr("第二列") Next End If e.Sender.ComboList = comliststr.Trim("|") e.Sender.OpenDropDown End If 只是操作中还是报错,不知什么原因 以下是截图与示例,请bin老师再给解决下 这 是 BIN老师的完美解决方法 If e.Sender.text.Length= 1 Then Dim comliststr As String Dim drList As List(of DataRow) = DataTables("表A").Select("第一列 = \'" & e.Sender.text & "\'") If drList.count > 0 Then \'e.Sender.Items.Clear e.Sender.text = drList(0)("第二列") \'e.Sender.SelectionStart=1 For Each dr As DataRow In drList comliststr = comliststr & "|" & dr("第二列") Next e.Sender.ComboList = comliststr.Trim("|") Else e.Sender.Items.Clear End If \'comliststr = comliststr.Trim("|") \' e.Sender.Items.Add(dr("第二列")) e.Sender.OpenDropDown End If [此贴子已经被作者于2013-12-24 10:44:09编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/12/24 10:27:00 -- .
|
||||
-- 作者:jnletao -- 发布时间:2013/12/24 10:42:00 -- 完美解决,谢谢bin老师 |