以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  主细表结构的单据中,如何对单据中的明细记录进行删除或撤销删除控制?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=26733)

--  作者:jinruan
--  发布时间:2012/12/12 19:24:00
--  主细表结构的单据中,如何对单据中的明细记录进行删除或撤销删除控制?
如题:主细表结构的单据中,如何对单据中的明细记录进行删除或撤销删除控制?
图片点击可在新窗口打开查看此主题相关图片如下:88888.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-12-12 19:39:32编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/12/12 21:11:00
--  

没有撤销删除的功能。

只有整体撤销的功能。

打开窗口前保存表:

 

DataTables("xxx").Save()

 

 

窗口的撤销按钮:

 

DataTables("xxx").RejectChanges

 

 

 


--  作者:lin_hailun
--  发布时间:2012/12/13 11:49:00
--  
 可以自己实现这个功能。

 楼主加一列删除标记,最好用数字,然后筛选表。

 保存的时候删除标记是有值的,删除掉。

--  作者:jinruan
--  发布时间:2012/12/13 14:28:00
--  
结合2-3楼方法
明细表中加一
f_delete列,默认为0
临时删除的明细行f_delete标记为1
保存时就真正删除f_delete为1的明细
如不保存就将f_delete为1的明细标记为0

是这样处理吧

--  作者:lin_hailun
--  发布时间:2012/12/13 14:34:00
--  
以下是引用jinruan在2012-12-13 14:28:00的发言:
结合2-3楼方法
明细表中加一
f_delete列,默认为0
临时删除的明细行f_delete标记为1
保存时就真正删除f_delete为1的明细
如不保存就将f_delete为1的明细标记为0

是这样处理吧


如果标记为数字,你还可以分别撤销的,比如 这一列 1,2,3,4,5,6

这样就可以实现撤销每一个删除了。

---------------------------------------------

如果你想实现的是全部保存和全部不保存,这两句就足够了,不必另写代码。

DataTables("xxx").Save()

 

DataTables("xxx").RejectChanges



--  作者:jinruan
--  发布时间:2012/12/13 14:40:00
--  
以下是引用lin_hailun在2012-12-13 11:49:00的发言:
 可以自己实现这个功能。

 楼主加一列删除标记,最好用数字,然后筛选表

 保存的时候删除标记是有值的,删除掉。
这个  筛选表  的动作如何处理?
保存的时候删除标记是有值的-----》这个值是否已写到数据库存中?


--  作者:jinruan
--  发布时间:2012/12/13 14:43:00
--  
只想简单标记下是否被临时删除,不用分别撤销的,在整体保存时再真正删除 临时删除的记录
--  作者:lin_hailun
--  发布时间:2012/12/13 14:54:00
--  
以下是引用jinruan在2012-12-13 14:43:00的发言:
只想简单标记下是否被临时删除,不用分别撤销的,在整体保存时再真正删除 临时删除的记录


比如 r.Delete 这一句,不会真实在数据库里删除,只是存在内存里删除。

最后,通过这样可以真正保存或者撤销的。

DataTables("xxx").Save()

 

DataTables("xxx").RejectChanges



--  作者:jinruan
--  发布时间:2012/12/13 15:04:00
--  
Tables("销售明细").Current.Delete

我用这个方法,执行后,记录实际上已删除了



--  作者:jinruan
--  发布时间:2012/12/13 15:06:00
--  
这个窗口中的  销售明细  是非副本的