以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]目录树保存问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71360)

--  作者:pcxjxjhkw
--  发布时间:2015/7/9 21:42:00
--  [求助]目录树保存问题
窗口中有一目录树,根据一数据表生成。
现对目录树进行增加、删除、修改节点操作
问题:如何将目录树的数据保存到数据表中?

谢谢

--  作者:大红袍
--  发布时间:2015/7/9 22:04:00
--  

 1、参考 http://www.foxtable.com/help/topics/2474.htm

 

 2、你可以循环节点,然后查询和新增对应的数据行。


--  作者:pcxjxjhkw
--  发布时间:2015/7/10 11:34:00
--  
老师,出现一新问题
增加一节点后,在此节点下再增一子节点,引用ParentNode.DataRow提示未找到,

求解决,

--  作者:大红袍
--  发布时间:2015/7/10 12:35:00
--  
 新增的节点,不能用 DataRow
--  作者:大红袍
--  发布时间:2015/7/10 12:36:00
--  
 新增节点的时候,用tag属性,记录行的主键列,如_Identify,如需要,就根据_Identify查出对应的列。
--  作者:pcxjxjhkw
--  发布时间:2015/7/10 12:46:00
--  
可否如此? 新增节点nd.datarow=表的新增行 估计要用底层属性。
--  作者:大红袍
--  发布时间:2015/7/10 12:48:00
--  

 不行,foxtable把datarow设置成只读了。

 

 要用5楼方法。


--  作者:pcxjxjhkw
--  发布时间:2015/7/10 15:02:00
--  
nd.tag = nd.DataRow._Identify    报错


--  作者:大红袍
--  发布时间:2015/7/10 15:03:00
--  
nd.tag = 新增的行("_Identify")
--  作者:pcxjxjhkw
--  发布时间:2015/7/10 17:58:00
--  
在窗口的after事件中写如下代码,先获取行的id,  但报错
Dim dt As DataTable = DataTables("导航设置_导航表")
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "大纲|模块|分组|窗体",,"大纲顺序,模块顺序,分组顺序,窗体顺序")
For Each nd As WinForm.TreeNode In trv.AllNodes
    nd.tag = nd.DataRow("_Identify")  
Next
[此贴子已经被作者于2015/7/10 17:57:47编辑过]