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


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

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

帅哥哟,离线,有人找我吗?
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
按此在新窗口浏览图片

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/8 21:03:00 [只看该作者]

金额改为双精度列

drawcell事件的代码--------
Select Case e.Col.name
    Case "金额"
            If e.Row(e.Col.name)< 100 Then
                e.Style = "小额订单"
            Else If e.Row(e.Col.name) > 20000 Then
                e.Style = "大额订单"
            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 [只看该作者]

我改这样好了,是不是我可以这样理解,双精度小数是有默认值的,默认是空值,不能是“”,不知道理解对了吗?还是谢谢!
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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

谢谢!

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/8 21:39:00 [只看该作者]

数值列默认值都是0,""表示空字符串,数值和字符串是不能比较的

 回到顶部