以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 想能像FT的窗体管理那样上下调整节点顺序 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84214) |
||||
-- 作者:李睿涵 -- 发布时间:2016/4/26 8:50:00 -- 想能像FT的窗体管理那样上下调整节点顺序 做了个年级、班级的树,想能够像FT的窗体管理那样自由调整节点顺序 把控件打好了,希望能帮助实现一下 此主题相关图片如下:qq截图20160426084758.png |
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 9:37:00 -- 年级上移
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
|
||||
-- 作者:李睿涵 -- 发布时间:2016/4/26 10:31:00 -- 谢谢 年级的上移好用,班级的上移不行,窗体关闭后重开,会恢复之前的排序 |
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 10:32:00 -- 两种,测试都没问题。 |
||||
-- 作者:李睿涵 -- 发布时间:2016/4/26 11:26:00 -- 加了弹窗,发现S1 S2 2个值相同 我数据删了重新添加 就可以了
|
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 11:29:00 -- Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") Dim nd As WinForm.TreeNode = tr.SelectedNode If nd.Index = 0 Then msgbox("无法再上移") Else Dim pnd As WinForm.TreeNode = nd.ParentNode.nodes(nd.Index-1) Dim s1 As Double = DataTables("表a").find("年级 = \'" & pnd.ParentNode.text & "\' and 班级 = \'" & pnd.Text & "\'")("_Sortkey") Dim s2 As Double = DataTables("表a").find("年级 = \'" & nd.ParentNode.text & "\' and 班级 = \'" & nd.text & "\'")("_Sortkey") If s1 = s2 Then s1 -= 0.1 s2 += 0.1 End If DataTables("表a").replacefor("_Sortkey", s2, "年级 = \'" & pnd.ParentNode.text & "\' and 班级 = \'" & pnd.Text & "\'") DataTables("表a").replacefor("_Sortkey", s1, "年级 = \'" & nd.ParentNode.text & "\' and 班级 = \'" & nd.Text & "\'") nd.MoveUp End If |
||||
-- 作者:李睿涵 -- 发布时间:2016/4/26 11:38:00 -- 这个代码补充得好,谢谢! |
||||
-- 作者:李睿涵 -- 发布时间:2016/4/26 12:12:00 -- 领导,还有个问题 就是节点会重复出现,该怎么规避?
此主题相关图片如下:qq截图20160426084758.png |
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 12:16:00 -- 你表A的数据,相同年级的数据,必须放在一起,不能分开的。 |
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 12:17:00 -- 不然,参考这两个例子
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=79823&skin=0
|