以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]datacolchange (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81510) |
-- 作者:huhu -- 发布时间:2016/2/29 14:12:00 -- [求助]datacolchange 1.click代码如下,红色代码用了向库存明细表增加数据---没有问题。问题是本以为向库存明细表写数据会触发datacolchange代码。可是发现没执行。原因我想应该是库存明细表的SN变化了,但是那个时间其他列的值为空,就没法向下执行datacolchange代码了。咋样能达到我想要的效果? If (MessageBox.Show("确定提交入库?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes ) Then DataTables("非插卡入库扫描").save Dim drs As List (of DataRow) = DataTables("U8物料数量汇总表").Select("入库单号 = \'" & Vars("fckrkdhrk") & "\'") For Each dr As DataRow In drs dr("状态") = "入库完成" Next Dim drrs As List (of DataRow) = DataTables("U8物料编码入库单收货统计").Select("入库单号 = \'" & Vars("fckrkdhrk") & "\'") For Each drr As DataRow In drrs drr("状态") = "入库完成" Next Dim nms() As String = {"生产订单号码","工单行号","物料编码","物料名称","类别说明","产品批次","订单号","订单行号","客户","备注","软件版本","SN","状态","数量","MAC","HW","入库单号","库位类别","库位编码","收货完成时间","入库完成时间","体态"} Dim lt As List(of DataRow) = DataTables("非插卡入库扫描").Select("入库单号 = \'" & Vars("fckrkdhrk") & "\'") For Each r As DataRow In lt If r("状态") = "入库完成" Then Dim rr As DataRow = DataTables("库存明细表").addnew For Each nm As String In nms rr(nm) = r(nm) Next End If Next Else e.Cancel = True End If` 2.库存明细表datacolchange代码如下。 If e.DataCol.name = "SN" Then If e.DataRow("体态") = "通用态" Then----没有执行 Dim dr1 As DataRow = DataTables("库存通用态表").Find("物料编码 = \'" & e.DataRow("物料编码") & "\'") If dr1 IsNot Nothing Then dr1("库存数量") = dr1("库存数量") + 1 dr1("可用数量") = dr1("可用数量") + 1 Else Dim dr2 As DataRow = DataTables("库存通用态表").AddNew dr2("物料编码") = e.DataRow("物料编码") dr2("物料名称") = e.DataRow("物料名称") dr2("库存数量") = 1 dr2("可用数量") = 1 End If ElseIf e.DataRow("体态") = "特殊态" Then Dim dr3 As DataRow = DataTables("库存特殊态表").Find("物料编码 = \'" & e.DataRow("物料编码") & "\' and 订单号 = \'" & e.DataRow("订单号") & "\' and 订单行号 = \'" & e.DataRow("订单行号") & "\'") If dr3 IsNot Nothing Then dr3("库存数量") = dr3("库存数量") + 1 dr3("可用数量") = dr3("可用数量") + 1 Else Dim dr4 As DataRow = DataTables("库存特殊态表").AddNew dr4("物料编码") = e.DataRow("物料编码") dr4("物料名称") = e.DataRow("物料名称") dr4("物料名称") = e.DataRow("物料名称") dr4("订单号") = e.DataRow("订单号") dr4("订单行号") = e.DataRow("订单行号") dr4("客户") = e.DataRow("客户") dr4("库存数量") = 1 dr4("可用数量") = 1 End If End If End If \' |
-- 作者:huhu -- 发布时间:2016/2/29 15:18:00 -- 帖子跌下去了,我需要顶起来。哈哈,上头条。 |
-- 作者:大红袍 -- 发布时间:2016/2/29 15:37:00 -- Dim nms() As String = {"生产订单号码","工单行号","物料编码","物料名称","类别说明","产品批次","订单号","订单行号","客户","备注","软件版本","SN","状态","数量","MAC","HW","入库单号","库位类别","库位编码","收货完成时间","入库完成时间","体态"}
改成
Dim nms() As String = {"生产订单号码","工单行号","物料编码","物料名称","类别说明","产品批次","订单号","订单行号","客户","备注","软件版本","状态","数量","MAC","HW","入库单号","库位类别","库位编码","收货完成时间","入库完成时间","体态","SN"} |