以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [分享]可拖放可实时同步数据表的目录树 (http://foxtable.net/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 --
|
|
-- 作者:涛声依旧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 -- 附件先压缩,再上传。 |