Foxtable(狐表)用户栏目专家坐堂 → 别人家的BOM拆分


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

主题:别人家的BOM拆分

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2015/12/24 15:59:00 [显示全部帖子]

设计一个表
ID FatherID ……
ID表示唯一编号,FatherID表示上级编号
好处是可以很容易更改上下级关系,只需要更新FatherID,实现集体迁移。但是如果没有使用递归,这个方法在实现目录树的时候会出现严重困难。但是如果是MSSQL2005以上数据库,采用WITH AS 语句实现递归,可以很轻松实现递归。从而变成1张视图表进行操作。十几行SQL语句代码大概就能实现了。

虽然我不懂BOM,但是看过很多实现的方法,搞了几个存储过程,绕了几个表,最终就是为了实现这个递归表。

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2015/12/24 17:30:00 [显示全部帖子]

录入和展示分开。采用单条修改比较容易实现。大多数都是都是这么搞的。
如果要实现你说的编辑方法,我自己已经写了一套代码实现保存视图表的方法。简单的说就是,获取修改行,根据主键进行比对循环,保存,最后同步加载就能实现了。

数据库不用视图,这个等于在用EXCEL,数据库的关联性大打折扣了。

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2015/12/25 9:28:00 [显示全部帖子]

以下是引用hanxuntx在2015/12/24 17:35:00的发言:
 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=71474
已经实现,就是排序很容易错乱。还不太满意。

换一个思路,很容易实现你这个方案,减少大量代码判断。
1. 如果能够采用我所说的方法实现视图,那么实现的一部分代码就能避免了。
2. 采用多级折叠方案,这个可以使用flexGrid的树形结构,但是这个不能编辑。(参考飞以前发的文件管理)
3. 采用关联表形式进行下级录入,即每选中父行,显示下级关联,在子表中编辑,避免编辑问题。因为关联时通过ID与FatherID的,这样关联就很容易做。你犯了关联ID在一个字段里,维护就很困难。
4. 顺序采用SortKey,根据子表加载调整先后瞬时。因为父表是视图,可以将Sortkey重新命名定义,避免被强制排序,这样就没排序问题了


 回到顶部