以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 带查找功能的下拉目录树遍历问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84623) |
||||
-- 作者:hswf -- 发布时间:2016/5/5 21:26:00 -- 带查找功能的下拉目录树遍历问题 按帮助文件做的带查找功能的下拉目录树,目录树节点为:tv.BuildTree("订单", "部门|客户|年|月|日|订单号"). 当我在文本框输入字符,点击"下一个" 按钮查找客户用时会很长(因为毎个客户下面有大量的年月日节点?),甚至卡死。 我如果把"下一个" 按钮的代码改成只遍历第二层客户节点,最高效的代码如何写呢? |
||||
-- 作者:大红袍 -- 发布时间:2016/5/5 22:36:00 -- 你做个具体的例子上传上来测试。 |
||||
-- 作者:hswf -- 发布时间:2016/5/6 21:43:00 -- 上传上来测试
|
||||
-- 作者:hswf -- 发布时间:2016/5/7 8:49:00 -- 点下一个按纽,反应太慢了
请老师帮我修改一下 |
||||
-- 作者:Hyphen -- 发布时间:2016/5/7 10:27:00 --
|
||||
-- 作者:hswf -- 发布时间:2016/5/7 12:10:00 -- 谢谢,点击下一个岀现错误 .NET Framework 版本:2.0.50727.5485 Foxtable 版本:2016.3.27.1 错误所在事件:窗口,窗口1,下一个,Click 详细错误信息: 指定的参数已超出有效值的范围。 参数名: index [此贴子已经被作者于2016/5/7 12:17:52编辑过]
|
||||
-- 作者:Hyphen -- 发布时间:2016/5/7 12:25:00 -- ...... Dim Start As Integer If vars("Name") <> txt Then vars("Start_0") = 0 vars("Start_1") = -1 vars("Name") = txt End If Dim find As Boolean For i As Integer = vars("Start_0") To trv.Nodes.Count - 1 For j As Integer = (vars("Start_1") + 1) To trv.Nodes(i).Nodes.Count - 1 Dim nd As WinForm.TreeNode = trv.Nodes(i).Nodes(j) If nd.Text.IndexOf(txt) >= 0 Then trv.SelectedNode = nd nd.EnsureVisible find = True vars("Start_0") = i vars("Start_1") = j Exit For End If Next If find Then Exit For Next ......
|