以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 别人家的BOM拆分 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79114) |
-- 作者:hanxuntx -- 发布时间:2015/12/24 15:26:00 -- 别人家的BOM拆分 http://blog.vsharing.com/ESXERP/A1827142.html |
-- 作者:jspta -- 发布时间:2015/12/24 15:59:00 -- 设计一个表 ID FatherID …… ID表示唯一编号,FatherID表示上级编号 好处是可以很容易更改上下级关系,只需要更新FatherID,实现集体迁移。但是如果没有使用递归,这个方法在实现目录树的时候会出现严重困难。但是如果是MSSQL2005以上数据库,采用WITH AS 语句实现递归,可以很轻松实现递归。从而变成1张视图表进行操作。十几行SQL语句代码大概就能实现了。 虽然我不懂BOM,但是看过很多实现的方法,搞了几个存储过程,绕了几个表,最终就是为了实现这个递归表。
|
-- 作者:hanxuntx -- 发布时间:2015/12/24 17:22:00 -- 变成视图怎么编辑? |
-- 作者:jspta -- 发布时间:2015/12/24 17:30:00 -- 录入和展示分开。采用单条修改比较容易实现。大多数都是都是这么搞的。 如果要实现你说的编辑方法,我自己已经写了一套代码实现保存视图表的方法。简单的说就是,获取修改行,根据主键进行比对循环,保存,最后同步加载就能实现了。 数据库不用视图,这个等于在用EXCEL,数据库的关联性大打折扣了。
|
-- 作者:hanxuntx -- 发布时间:2015/12/24 17:35:00 -- http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=71474 已经实现,就是排序很容易错乱。还不太满意。
|
-- 作者:jspta -- 发布时间: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重新命名定义,避免被强制排序,这样就没排序问题了
|