Foxtable(狐表)用户栏目专家坐堂 → 如何数据标记


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

主题:如何数据标记

帅哥哟,离线,有人找我吗?
jason_pitt
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:126 积分:898 威望:0 精华:0 注册:2016/8/2 9:17:00
  发帖心情 Post By:2016/8/4 10:54:00 [只看该作者]

您好,我试过了,还不是按我的意思显示的,如何更正了
图片点击可在新窗口打开查看此主题相关图片如下:456.png
图片点击可在新窗口打开查看
我是想表达这么个意思,就是比如我举的例子,高锰酸盐指数、五日生化需氧量和氨氮三个指标,如果高锰酸盐指数的值是3类,五日生化需氧量的值是5类,氨氮的值是6类,那么这个断面就是6类;如果高锰酸盐指数的值是2类,五日生化需氧量的值是3类,氨氮的值是5类,那么这个断面就是5类,取最大的那个类别作为最终的断面类别

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/4 11:10:00 [只看该作者]

Select Case e.DataCol.Name
   
    Case "高锰酸盐指数","五日生化需氧量","氨氮"
       
        If e.DataRow.IsNull("高锰酸盐指数") = False AndAlso e.DataRow.IsNull("五日生化需氧量") = False AndAlso e.DataRow.IsNull("氨氮") = False Then
            Dim lb1, lb2, lb3 As Integer
            If e.DataRow("高锰酸盐指数") <= 4 Then
                lb1 = 2
            ElseIf e.DataRow("高锰酸盐指数") <= 6 Then
                lb1 = 3
            Else If e.DataRow("高锰酸盐指数") <= 10 Then
                lb1 = 4
            Else If e.DataRow("高锰酸盐指数") <= 15 Then
                lb1 = 5
            Else
                lb1 = 6
            End If
           
            if e.DataRow("五日生化需氧量") <= 3 then
                lb2 = 2
            elseif e.DataRow("五日生化需氧量") <= 4 then
                lb2 = 3
            elseif e.DataRow("五日生化需氧量") <= 6 then
                lb2 = 4
            ElseIf e.DataRow("五日生化需氧量") <= 10 Then
                lb2 = 5
            Else
                lb2 = 6
            End If
           
            If e.DataRow("氨氮") <=0.5 Then
                lb3 = 2
            ElseIf e.DataRow("氨氮") <=1 Then
                lb3 = 3
            ElseIf e.DataRow("氨氮") <=1.5 Then
                lb3 = 4
            ElseIf e.DataRow("氨氮") <=2 Then
                lb3 = 5
            Else
                lb3 = 6
            End If
           
            If lb1 > lb2 Then lb2 = lb1
            If lb2 > lb3 Then lb3 = lb2
           
            e.DataRow("断面类别") = lb3
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:126 积分:898 威望:0 精华:0 注册:2016/8/2 9:17:00
  发帖心情 Post By:2016/8/4 11:13:00 [只看该作者]

谢谢,就是这个意思,太感谢了

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


加好友 发短信
等级:幼狐 帖子:126 积分:898 威望:0 精华:0 注册:2016/8/2 9:17:00
  发帖心情 Post By:2016/8/4 16:03:00 [只看该作者]

Select Case e.DataCol.Name
    
    Case "高锰酸盐指数","五日生化需氧量","氨氮"
        
        If e.DataRow.IsNull("高锰酸盐指数") = False AndAlso e.DataRow.IsNull("五日生化需氧量") = False AndAlso e.DataRow.IsNull("氨氮") = False Then
            Dim lb1, lb2, lb3 As Char
            If e.DataRow("高锰酸盐指数") <= 4 Then
                lb1 = "Ⅱ类"
            ElseIf e.DataRow("高锰酸盐指数") <= 6 Then
                lb1 = "Ⅲ类"
            Else If e.DataRow("高锰酸盐指数") <= 10 Then
                lb1 = "Ⅳ类"
            Else If e.DataRow("高锰酸盐指数") <= 15 Then
                lb1 = "Ⅴ类"
            Else
                lb1 = "劣Ⅴ"
            End If
            
            If e.DataRow("五日生化需氧量") <= 3 Then
                lb2 = "Ⅱ类"
            ElseIf e.DataRow("五日生化需氧量") <= 4 Then
                lb2 = "Ⅲ类"
            ElseIf e.DataRow("五日生化需氧量") <= 6 Then
                lb2 = "Ⅳ类"
            ElseIf e.DataRow("五日生化需氧量") <= 10 Then
                lb2 = "Ⅴ类"
            Else
                lb2 = "劣Ⅴ"
            End If
            
            If e.DataRow("氨氮") <=0.5 Then
                lb3 = "Ⅱ类"
            ElseIf e.DataRow("氨氮") <=1 Then
                lb3 = "Ⅲ类"
            ElseIf e.DataRow("氨氮") <=1.5 Then
                lb3 = "Ⅳ类"
            ElseIf e.DataRow("氨氮") <=2 Then
                lb3 = "Ⅴ类"
            Else
                lb3 = "劣Ⅴ"
            End If
            
            If lb1 > lb2 Then lb2 = lb1
            If lb2 > lb3 Then lb3 = lb2
            
            e.DataRow("断面类别") = lb3
        End If
End Select

图片点击可在新窗口打开查看此主题相关图片如下:789.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:幼狐 帖子:126 积分:898 威望:0 精华:0 注册:2016/8/2 9:17:00
  发帖心情 Post By:2016/8/4 16:04:00 [只看该作者]

请问,为什么结果显示的只有一个字符,我设置列的时候,是16个字符,但是显示不完全,差一个类子,劣V类,只能显示劣一个字,错在什么地方了,求解。谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/4 16:52:00 [只看该作者]

Select Case e.DataCol.Name
   
    Case "高锰酸盐指数","五日生化需氧量","氨氮"
       
        If e.DataRow.IsNull("高锰酸盐指数") = False AndAlso e.DataRow.IsNull("五日生化需氧量") = False AndAlso e.DataRow.IsNull("氨氮") = False Then
            Dim lb1, lb2, lb3 As Integer
            If e.DataRow("高锰酸盐指数") <= 4 Then
                lb1 = 2
            ElseIf e.DataRow("高锰酸盐指数") <= 6 Then
                lb1 = 3
            Else If e.DataRow("高锰酸盐指数") <= 10 Then
                lb1 = 4
            Else If e.DataRow("高锰酸盐指数") <= 15 Then
                lb1 = 5
            Else
                lb1 = 6
            End If
           
            if e.DataRow("五日生化需氧量") <= 3 then
                lb2 = 2
            elseif e.DataRow("五日生化需氧量") <= 4 then
                lb2 = 3
            elseif e.DataRow("五日生化需氧量") <= 6 then
                lb2 = 4
            ElseIf e.DataRow("五日生化需氧量") <= 10 Then
                lb2 = 5
            Else
                lb2 = 6
            End If
           
            If e.DataRow("氨氮") <=0.5 Then
                lb3 = 2
            ElseIf e.DataRow("氨氮") <=1 Then
                lb3 = 3
            ElseIf e.DataRow("氨氮") <=1.5 Then
                lb3 = 4
            ElseIf e.DataRow("氨氮") <=2 Then
                lb3 = 5
            Else
                lb3 = 6
            End If
           
            If lb1 > lb2 Then lb2 = lb1
            If lb2 > lb3 Then lb3 = lb2
            

            Dim ary() As String = {"", "Ⅱ类", "Ⅲ类", "Ⅳ类", "Ⅴ类", "劣Ⅴ"}


            e.DataRow("断面类别") = ary(lb3)
        End If
End Select


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


加好友 发短信
等级:幼狐 帖子:126 积分:898 威望:0 精华:0 注册:2016/8/2 9:17:00
  发帖心情 Post By:2016/8/4 17:15:00 [只看该作者]

您好,我按您的写进去了,但是数值低的时候,正常,数据大一点,就出现异常,说调用的目标发生了异常,索引超出了数组的界限,请问如何调整数组的界限?谢谢

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


加好友 发短信
等级:幼狐 帖子:126 积分:898 威望:0 精华:0 注册:2016/8/2 9:17:00
  发帖心情 Post By:2016/8/4 17:16:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:9.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:126 积分:898 威望:0 精华:0 注册:2016/8/2 9:17:00
  发帖心情 Post By:2016/8/4 17:16:00 [只看该作者]

您好,我按您的写进去了,但是数值低的时候,正常,数据大一点,就出现异常,说调用的目标发生了异常,索引超出了数组的界限,请问如何调整数组的界限?谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/4 17:19:00 [只看该作者]

改一下最后两句

 

            Dim ary() As String = {"", "", "Ⅱ类", "Ⅲ类", "Ⅳ类", "Ⅴ类", "劣Ⅴ"}


            e.DataRow("断面类别") = ary(lb3)


 回到顶部
总数 31 上一页 1 2 3 4 下一页