以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [分享]可拖放可实时同步数据表的目录树  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=47676)

--  作者:涛声依旧5666
--  发布时间:2014/3/14 16:44:00
--  [分享]可拖放可实时同步数据表的目录树
问题提出:
1、目录树(treeview)用途广泛,特别是对大型项目进行分类之时
2、foxtable的treeview,实现了从数据表到目录树的单向生成,未实现从目录树到数据表的同步。
3、foxtable的treeview,实现了按钮增删及移动操作,未实现拖放节点移动节点的时髦方法。
解决方案:(详见例子)
1、通过编写foxtable.treeview.basecontrol的事件代码,实现目录树的拖放操作
2、拖放操作时,默认为移动操作,当同时按ctrl键时,实现复制操作
3、拖放操作时,当目标节点不在可视区时,自动实现目录树的滚屏
4、拖放操作时,当鼠标位于目标节点的label区时,为“同级”操作,当鼠标位于目标节点的label右边区域时,为“子级”操作,
5、以上操作,实时更新后台数据表,即目录树与 数据表完全同步
遗留问题:
1、foxtable的treeview虽然利用了windows.form.treeview,但在接收节点始终无法通过DragEventArgs正确得到源节点的信息,只能通过定义全局draggedNode传递信息
2、foxtable的treenode的datarow是只读属性,当从数据表生成目录树时,该属性有效,当在目录树用按钮或鼠标操作时,无法对其设置,目前只能利用tag属性变通
3、利用tag属性,只能保存string,当前用以保存数据表table的行号,故一旦删除节点,就丧失了节点与行号的对应关系
4、个人认为,node的name属性意义不大,本人将node的index值赋给name,才能利用fullname获得node的节点位置特征
5、还有一些细节问题,若狐友有兴趣,可以继续讨论、完善。

--  作者:Bin
--  发布时间:2014/3/14 16:49:00
--  
顶一下, 但是 东西呢?
--  作者:涛声依旧5666
--  发布时间:2014/3/14 16:50:00
--  
附件如何上传?
--  作者:Bin
--  发布时间:2014/3/14 16:51:00
--  
上传图片和文件参考这里http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78


请尽量使用IE,谷歌,火狐等主流浏览器上传.  

使用谷歌浏览器必须要先输入一个以上的字符

上传后需要等文件代码出现才算成功!



--  作者:涛声依旧5666
--  发布时间:2014/3/14 16:55:00
--  
传了
--  作者:涛声依旧5666
--  发布时间:2014/3/14 16:58:00
--  
上传了,但看不见?
--  作者:Bin
--  发布时间:2014/3/14 16:58:00
--  
上传后需要等文件代码出现才算成功!
--  作者:涛声依旧5666
--  发布时间:2014/3/14 16:59:00
--  
再试试。
--  作者:涛声依旧5666
--  发布时间:2014/3/14 17:00:00
--  
论坛说 请不要重复提交!  郁闷
--  作者:lsy
--  发布时间:2014/3/14 17:03:00
--  
附件先压缩,再上传。