Foxtable(狐表)用户栏目专家坐堂 → 关于保存目录树节点到数据表的问题


  共有3122人关注过本帖树形打印复制链接

主题:关于保存目录树节点到数据表的问题

帅哥哟,离线,有人找我吗?
able
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:69 积分:797 威望:0 精华:0 注册:2015/1/2 15:58:00
关于保存目录树节点到数据表的问题  发帖心情 Post By:2015/2/2 21:02:00 [只看该作者]

关于保存目录树节点到数据表的问题

项目内有一个BOM 表.有一个名为:BOM的窗口/

增加节点,增加子节点,删除节点,都是正常的,
而保存按钮;它的代码:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
DataTables("Cpinfo").DataRows.Clear --------------------------------不明白这句代码是做什么用,
For Each nd As WinForm.TreeNode In trv.allNodes
     Dim dr As DataRow = DataTables("BOM").Addnew()
    dr("级码") = nd.fullname.replace("\",".")
    dr("产品名称") = nd.Text        --------------------------------------蓝色的代码有问题,保存节点名称到数据表,不应该是在循环内.请高手帮忙修改一下
Next
DataTables("BOM").Save()

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:bom.foxdb



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/2 21:23:00 [只看该作者]

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
DataTables("Bom").DataRows.Clear
For Each nd As WinForm.TreeNode In trv.allNodes
     Dim dr As DataRow = DataTables("BOM").Addnew()
    dr("级码") = nd.fullname.replace("\",".")
    dr("产品名称") = nd.Text
Next
DataTables("BOM").Save()

 回到顶部
帅哥哟,离线,有人找我吗?
able
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:69 积分:797 威望:0 精华:0 注册:2015/1/2 15:58:00
  发帖心情 Post By:2015/2/2 23:06:00 [只看该作者]

谢谢有点甜;
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
DataTables("Bom").DataRows.Clear
For Each nd As WinForm.TreeNode In trv.allNodes
     Dim dr As DataRow = DataTables("BOM").Addnew()
    dr("级码") = nd.fullname.replace("\",".")
    dr("产品名称") = nd.Text
Next
DataTables("BOM").Save()

代码还是有一个问题,
就是当执行这个代码后,数据表内的:规格型号 和计量单位 列的内容全部没有了.这是什么情况呢.


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/3 0:02:00 [只看该作者]

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
DataTables("BOM").Save
Dim max As Integer = DataTables("BOM").Compute("max(_Identify)")
For Each nd As WinForm.TreeNode In trv.allNodes
    Dim dr As DataRow = DataTables("BOM").Addnew()
    dr("级码") = nd.fullname.replace("\",".")
    dr("产品名称") = nd.Text
    If nd.DataRow IsNot Nothing Then
        dr("产品代码") = nd.DataRow("产品代码")
        dr("规格型号") = nd.DataRow("规格型号")
    End If
Next
DataTables("BOM").Save
DataTables("BOM").DeleteFor("_Identify <= " & max)
DataTables("BOM").Save()

trv.GenerateTree("BOM","级码","产品名称", ".")


 回到顶部
帅哥哟,离线,有人找我吗?
able
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:69 积分:797 威望:0 精华:0 注册:2015/1/2 15:58:00
  发帖心情 Post By:2015/2/3 0:27:00 [只看该作者]

这样一来,没有保存节点数据到表里了

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/3 8:46:00 [只看该作者]

  回复5楼,肯定有保存啊,测试没有问题。
[此贴子已经被作者于2015-2-3 8:46:20编辑过]

 回到顶部