以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Treeview 运行速度慢 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63556) |
||||
-- 作者:machle -- 发布时间:2015/1/23 14:44:00 -- Treeview 运行速度慢 我想通过两个combobox展开treeview中的某节点,并选中最下面的节点,然后显示筛选出的数据。combobox是treeview的两级。 下面代码可以实现,但是运行速度有些慢,treeview先变成白的,然后过1-2秒钟,才出来结果。能帮我看一下吗?谢谢! Dim cmb1 As WinForm.ComboBox = e.Form.Controls("ComboBox1") Dim cmb2 As WinForm.ComboBox = e.Form.Controls("ComboBox2") If cmb1.text <>"" And cmb2.text <>"" Then DataTables("BasicLabel").Find("[危险项别] = \'" & cmb2.Text & "\' And [类别] = \'" & cmb1.Text & "\'") Dim tr As WinForm.TreeView tr = Forms("类别和危险类别中文说明").Controls("TreeView1") tr.CollapseAll tr.Nodes(cmb1.text).Expand() tr.SelectedNode = tr.Nodes(cmb1.text).Nodes(cmb2.text) Else Messagebox.show("请选择合适的类别和危险项别!", "提示") End If |
||||
-- 作者:Bin -- 发布时间:2015/1/23 14:45:00 -- Find的速度如果数据量大了效率不高, 我没搞懂你的具体意图,你上个例子看看. 说明需求,也许有更好的方式 |
||||
-- 作者:有点甜 -- 发布时间:2015/1/23 15:06:00 -- 这一句没有必要。
DataTables("BasicLabel").Find("[危险项别] = \'" & cmb2.Text & "\' And [类别] = \'" & cmb1.Text & "\'")
还有就是可能你其它代码有影响,具体请上传例子 |
||||
-- 作者:machle -- 发布时间:2015/1/23 15:09:00 -- 回复:(有点甜) 这一句没有必要。 Da... 那句是起到查询作用的吧。 做了个例子,数据少了,没有那种慢的感觉,能不能帮我看看还有其他方式能快些吗?这个例子没有什么延迟,我那个数据实际也不多,但是显示的时候treeview先要刷新变白1-2秒钟,才显示最后的数据。 另外火狐浏览器居然没法上传附件…… 唉,问题都被我遇上了。
|
||||
-- 作者:Bin -- 发布时间:2015/1/23 15:13:00 -- \'DataTables("表A").Find("[第二列] = \'" & cmb2.Text & "\' And [第一列] = \'" & cmb1.Text & "\'") 这句代码去掉.
|
||||
-- 作者:有点甜 -- 发布时间:2015/1/23 15:19:00 -- Dim cmb1 As WinForm.ComboBox = e.Form.Controls("ComboBox1") If cmb1.text <>"" And cmb2.text <>"" Then |