以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 【求助】DataColChanged修改后没有结果 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149533) |
||||
-- 作者:狐表(小白) -- 发布时间:2020/5/5 16:25:00 -- 【求助】DataColChanged修改后没有结果 求助,红色代码部分,修改对应列的值后没有计算结果!系统也没有提示报错! Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "型号" If dr("型号") = Nothing Then dr("产品编号")=Nothing dr("产品分类")=Nothing dr("门头花")=Nothing dr("木门基价")=Nothing dr("型号")=Nothing dr("塔线型号")=Nothing dr("门型花")=Nothing dr("计算公式")=Nothing End If Case "洞高","洞宽","产品分类" Dim dg as Integer = 2100 Dim dk as Integer = 960 If dr("产品分类") = "%复合%" AndAlso dr("洞高") > dg Then If dr.IsNull("门超尺加价") then dr("门超尺加价") = Format((dr("洞高")- dg)/100*50,"0.00") dr.Save() \'必须保存一下 Else dr("门超尺加价") = dr("门超尺加价") + Format((dr("洞高")- dg)/100*50,"0.00") dr.Save() \'必须保存一下 If dr("产品分类") = "%复合%" AndAlso dr("洞宽") > dk Then If dr.IsNull("门超尺加价") then dr("门超尺加价") = Format((dr("洞宽")-dk)/100*50,"0.00") dr.Save() \'必须保存一下 Else dr("门超尺加价") = dr("门超尺加价") + Format((dr("洞宽")- dk)/100*50,"0.00") dr.Save() \'必须保存一下 End If End If End If End If Case "数量","计算公式" If dr.IsNull("木门基价")=False AndAlso dr.IsNull("经销商等级")=False AndAlso dr.IsNull("计算公式")=False Then \'If not (dr.IsNull("木门基价") AndAlso dr.IsNull("经销商等级") AndAlso dr.IsNull("计算公式")) Then dr.Save() \'必须保存一下 Dim cmd As new SQLCommand cmd.C cmd.CommandText = "Select " & dr("计算公式") & " F rom {YW_销售订单明细} where [_Identify] = " & e.DataRow("_Identify") \'根据需要修改主键和表名 dr("木门核算单价") = cmd.ExecuteScalar dr("金额") = dr("木门核算单价")*dr("数量") dr.Save() \'必须保存一下 Else dr("木门核算单价") = Nothing dr.Save() \'必须保存一下 End If End Select
|
||||
-- 作者:有点蓝 -- 发布时间:2020/5/5 16:50:00 -- 模糊查询?http://www.foxtable.com/webhelp/topics/0222.htm dr("产品分类") = "%复合%" 改为 dr("产品分类") like "*复合*"
|
||||
-- 作者:狐表(小白) -- 发布时间:2020/5/5 17:27:00 -- 谢谢老师!结果出来了,还有个问题请教:
如何修改上面代码,在洞高或者洞宽尺寸在参考值的基础上,,修改后的尺寸每递增100范围内的任何值门超尺加价都是增加50,(比如,洞高尺寸在2101-2200之间,加50;2201-2300加100;2301-2400加150;洞宽尺寸在961-970之间,加50;971-980加100;981-990加150,......依次类推)如下图:
|
||||
-- 作者:有点蓝 -- 发布时间:2020/5/5 17:42:00 -- 没看懂,截图举例表格的数据详细说明一下 |
||||
-- 作者:狐表(小白) -- 发布时间:2020/5/5 18:10:00 -- 超高参考值对应的是“洞高”列,超宽参考值对应的是“洞宽”列,加减递增尺寸是指在参考值的基础上,订单录入的实际洞高或者洞宽尺寸每增加100,按照超高、超宽加减费用增加价格。 现在的代码只能做到精确计算,实际使用时,只要录入的尺寸比参考值尺寸多0-100之间任意数值就加50,尺寸比参考值多100以上,比如101,就要加100;(比如,洞高尺寸在2101-2200之间,加50;2201-2300加100;2301-2400加150;洞宽尺寸在961-970之间,加50;971-980加100;981-990加150,......依次类推) 增加的全部费用在“门超尺加价列”显示 [此贴子已经被作者于2020/5/5 18:12:40编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2020/5/5 20:08:00 -- 大概这样 Dim dg As Integer = 2260 Dim cc As Integer = dg-2100 Dim yz As Integer = Math.Ceiling(cc / 100) Dim add As Integer = yz * 50 Output.Show("加" & add) |
||||
-- 作者:狐表(小白) -- 发布时间:2020/5/5 20:50:00 -- 谢谢 |