Foxtable(狐表)用户栏目专家坐堂 → 【求助】DataColChanged修改后没有结果


  共有3130人关注过本帖树形打印复制链接

主题:【求助】DataColChanged修改后没有结果

帅哥哟,离线,有人找我吗?
狐表(小白)
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4017 威望:0 精华:0 注册:2019/9/17 10:06:00
【求助】DataColChanged修改后没有结果  发帖心情 Post By:2020/5/5 16:25:00 [只看该作者]

求助,红色代码部分,修改对应列的值后没有计算结果!系统也没有提示报错!
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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/5 16:50:00 [只看该作者]

模糊查询?http://www.foxtable.com/webhelp/topics/0222.htm

dr("产品分类") = "%复合%"

改为

dr("产品分类") like "*复合*"

 回到顶部
帅哥哟,离线,有人找我吗?
狐表(小白)
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4017 威望:0 精华:0 注册:2019/9/17 10:06:00
  发帖心情 Post By: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,......依次类推)如下图:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1.zip


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/5 17:42:00 [只看该作者]

没看懂,截图举例表格的数据详细说明一下

 回到顶部
帅哥哟,离线,有人找我吗?
狐表(小白)
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4017 威望:0 精华:0 注册:2019/9/17 10:06:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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)


 回到顶部
帅哥哟,离线,有人找我吗?
狐表(小白)
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:371 积分:4017 威望:0 精华:0 注册:2019/9/17 10:06:00
  发帖心情 Post By:2020/5/5 20:50:00 [只看该作者]

谢谢

 回到顶部