Foxtable(狐表)用户栏目专家坐堂 → 帮我看看是什么情况?


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

主题:帮我看看是什么情况?

帅哥哟,离线,有人找我吗?
hc-mall
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
帮我看看是什么情况?  发帖心情 Post By:2019/10/8 20:45:00 [显示全部帖子]

这个是订单表drawcell事件的代码--------
Select Case e.Col.name
    Case "金额"
        If e.Row(e.Col.name) <> "" Then
            If e.Row(e.Col.name)< 100 Then
                e.Style = "小额订单"
            Else If e.Row(e.Col.name) > 20000 Then
                e.Style = "大额订单"
            End If
        End If
    Case "客户"
        If User.Group <> "管理"
            e.Text = "******"
        End If
End Select
这个是统计表DataColChanged事件的代码--------
Select Case e.DataCol.Name
    Case "产品","客户"
        If e.DataRow.IsNull("产品") OrElse e.DataRow.IsNull("客户") Then
            If e.DataRow.IsNull("产品")  And  e.DataRow.IsNull("客户") = False Then
                e.DataRow("数量") = DataTables("订单").Compute("sum(数量)","客户 ='" & e.DataRow("客户") & "'")
                e.DataRow("金额") = DataTables("订单").Compute("sum(金额)","客户 ='" & e.DataRow("客户") & "'")
            Else If e.DataRow.IsNull("客户") And e.DataRow.IsNull("产品") = False Then
                e.DataRow("数量") = DataTables("订单").Compute("sum(数量)","产品 ='" & e.DataRow("产品") & "'")
                e.DataRow("金额") = DataTables("订单").Compute("sum(金额)","产品 ='" & e.DataRow("产品") & "'")
            Else
                MessageBox.show("请输入客户或产品信息再进行查询!")
                e.DataRow("数量") = Nothing
                e.DataRow("金额") = Nothing
            End If
        Else
            e.DataRow("数量") = DataTables("订单").Compute("sum(数量)","客户 ='" & e.DataRow("客户") & "' and 产品 ='" & e.DataRow("产品") & "'")
            e.DataRow("金额") = DataTables("订单").Compute("sum(金额)","客户 ='" & e.DataRow("客户") & "' and 产品 ='" & e.DataRow("产品") & "'")
        End If
End Select
不知道什么原因,我是不懂!订单表的金额列是表达式列!数据类型选为双精度小数的时候订单表的drawcell事件代码就发生错误,系统都崩溃了,如果改类型改成字符型的,统计表的
DataColChanged事件就发生错误了,无法统计金额合计了!高手给看一下!

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


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2019/10/8 20:48:00 [显示全部帖子]

这是订单表的drawcell事件代码就发生错误的截图
[此贴子已经被作者于2019/10/8 20:49:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hc-mall
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2019/10/8 20:49:00 [显示全部帖子]


此主题相关图片如下:运行错误222111.png
按此在新窗口浏览图片

此主题相关图片如下:运行错误222.png
按此在新窗口浏览图片
统计表的
DataColChanged事件的错误截图
此主题相关图片如下:订单表表结构2222.png
按此在新窗口浏览图片

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


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2019/10/8 20:51:00 [显示全部帖子]


此主题相关图片如下:运行错误111.png
按此在新窗口浏览图片

此主题相关图片如下:drawceell事件错误.png
按此在新窗口浏览图片
这是订单表的drawcell事件代码就发生错误的截图
此主题相关图片如下:订单表表结构.png
按此在新窗口浏览图片

 回到顶部
帅哥哟,离线,有人找我吗?
hc-mall
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2019/10/8 21:31:00 [显示全部帖子]

我改这样好了,是不是我可以这样理解,双精度小数是有默认值的,默认是空值,不能是“”,不知道理解对了吗?还是谢谢!
Select Case e.Col.name
    Case "金额"
        If e.Row(e.Col.name) IsNot Nothing Then
            If e.Row(e.Col.name)< 100 Then
                e.Style = "小额订单"
            Else If e.Row(e.Col.name) > 20000 Then
                e.Style = "大额订单"
            End If
        End If
    Case "客户"
        If User.Group <> "管理"
            e.Text = "******"
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2019/10/8 21:31:00 [显示全部帖子]

谢谢!

 回到顶部