以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  设置库存表中库存为0的行自动删除的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=49865)

--  作者:cnyoung
--  发布时间:2014/4/25 9:05:00
--  设置库存表中库存为0的行自动删除的问题
请问:如何设置库存表中库存=0时自动删除本行的代码。
我是这么设置代码的,但是不能实现:
1、做订单表:日期,商品名称,数量(进货数量为正,出货数量为负),价格
2、做库存表:商品名称,数量(这个数量是表达式列=sum(child(订单表中数量))),价格 ------\\想当库存表中数量=0时自动删除本行

我在库存表的表属性-->事件datacolchanged设置代码为:

e.DataTable.Save()
Dim dr As DataRow
Dim t As Integer
dr=e.DataTable.find("[数量]=\'0\'")
If dr IsNot Nothing Then
 dr.delete()
End If

竟然当订单表中数量+5000,再-5000输入后,库存表中数量=0时本行不删除。为什么?

--  作者:lsy
--  发布时间:2014/4/25 9:10:00
--  

库存表中,产品编号一般是唯一的,当库存表中删除了库存数量为0的行后,就少了一种产品,可能会有不良后果。

要删除,最好专门判断、确认,以防万一。


--  作者:Bin
--  发布时间:2014/4/25 9:10:00
--  
表达式列不会触发DataColChanged事件.

你这种情况,要在子表的DataColChanged事件强行触发父表行的DataColChanged


DataTables("父表").DataCols("列名").RaiseDataColChanged(e.DataRow.GetParentRow("父表"))


--  作者:cnyoung
--  发布时间:2014/4/25 9:24:00
--  谢谢,实现了。害得我看帮助看花了眼睛
谢谢,实现了。害得我看帮助看花了眼睛都没有找到答案。