Foxtable(狐表)用户栏目专家坐堂 → [原创]高手请帮忙


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

主题:[原创]高手请帮忙

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


加好友 发短信
等级:幼狐 帖子:190 积分:1597 威望:0 精华:0 注册:2011/5/19 10:05:00
[原创]高手请帮忙  发帖心情 Post By:2011/5/27 10:04:00 [只看该作者]

1.这段是树的"重命名"按钮,"重命名"操作以后立即存入表,但表中数据没修改,请帮忙看一下.

 

Dim tr As WinForm.TreeView
tr = e.Form.Controls("TreeView1")
tr.Select()
tr.BeginEdit()

Dim nd As WinForm.TreeNode = tr.SelectedNode
Dim id As Integer = nd.index

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nds As List(of Winform.TreeNode) = trv.AllNodes
DataTables("商品").DataRows(id)("条码") = nds(id).fullpath

 

2.从表中读出树时,树控件公重新按字母顺序重排树,这样再存回去顺序就变了.怎么办?

[此贴子已经被作者于2011-5-27 10:07:25编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/27 10:19:00 [只看该作者]

1、Dim id As Integer = nd.index,是同父节点的相同等级节点中的位置,不是在所有节点中的位置,更不是行的位置。

2、既然你要直接通过树来编辑,而不是通过表,那么直接将整个树保存为一个字符串,存入表中一个单元格,或者保存为一个文件,不是更加简单合理吗?

 

 


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


加好友 发短信
等级:幼狐 帖子:190 积分:1597 威望:0 精华:0 注册:2011/5/19 10:05:00
  发帖心情 Post By:2011/5/27 10:35:00 [只看该作者]

树的问题,是这样的.

1.你的树是要事先编好的,等用了树以后再修改树节点,树没问题,但相应的表就不行了.原因在于,你的树与表中的行不是一一对应的.

比如,我事先编一组树,茶叶,然后在表里对各种茶叶设置了"规格,金额,库存量"等等信息,过几天我要插入一种新茶叶,在树里是可以插入到我想要的位置,但在表里,就牛头不对马嘴了,因为"规格,金额,库存量"等等信息跟相应茶叶的位置不对了.

就是这个问题.

 

2.树的逻辑关系在改进一下.比如上海\浦东,南京\江宁,江宁\南京\上海,这样三个树是可以并存的,这不合逻辑

 

3.常用的一种树,是每个节点要对应一行,比如:江苏\南京\江宁,这在表里至少要有三行,其中江苏和南京是汇总的行,江宁是末级行.所以树里至少要区分末级行和汇总行二种行.

 

[此贴子已经被作者于2011-5-27 10:42:19编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/27 10:41:00 [只看该作者]

不对,树在编辑后,是可以保存的,可以保存为一个文件,下次加载,也可以将整个树保存为以一个字符串,下次读取,都很简单,无需你现在这么复杂的。

帮助都提供了例子的,例如:

http://help.foxtable.com/topics/1988.htm

 


 回到顶部