以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 取各非空列计算后最大值,如何书写代码? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101919) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:chh2321 -- 发布时间:2017/6/9 17:58:00 -- 取各非空列计算后最大值,如何书写代码? 您好,老师! 请教一个问题: DataColChanged事件中,我书写下段代码: Case "第一列" If e.DataRow("第一列") IsNot Nothing Then If e.DataRow("第一列") < 1 Then e.DataRow("第四列") = 4 ElseIf e.DataRow("第一列") < 2 Then e.DataRow("第四列") = 3 ElseIf e.DataRow("第一列") < 3 Then e.DataRow("第四列") = 2 ElseIf e.DataRow("第一列") < 4 Then e.DataRow("第四列") = 1 Else e.DataRow("第四列") = 0 End If End If Case "第二列" If e.DataRow("第二列") IsNot Nothing Then If e.DataRow("第二列") < 50 Then e.DataRow("第四列") = 4 ElseIf e.DataRow("第二列") < 80 Then e.DataRow("第四列") = 3 ElseIf e.DataRow("第二列") < 100 Then e.DataRow("第四列") = 2 ElseIf e.DataRow("第二列") < 120 Then e.DataRow("第四列") = 1 Else e.DataRow("第四列") = 0 End If End If Case "第三列" If e.DataRow("第三列") IsNot Nothing Then If e.DataRow("第三列") < 25 Then e.DataRow("第四列") = 4 ElseIf e.DataRow("第三列") < 50 Then e.DataRow("第四列") = 3 ElseIf e.DataRow("第三列") < 75 Then e.DataRow("第四列") = 2 ElseIf e.DataRow("第三列") < 100 Then e.DataRow("第四列") = 1 Else e.DataRow("第四列") = 0 End If End If 上段代码的问题是第四列总是以最后变化列计算后为准。 但我实际上是想要让第四列取前三列(非空列)计算后的最大值,请问如何书写代码?
[此贴子已经被作者于2017/6/9 17:58:28编辑过]
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2017/6/9 20:08:00 -- 前3列计算逻辑是什么?如何比较大小?举例说明一下 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:chh2321 -- 发布时间:2017/6/9 22:06:00 --
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:chh2321 -- 发布时间:2017/6/9 22:15:00 -- Case "第一列","第二列","第三列" If e.DataRow("第一列") IsNot Nothing OrElse e.DataRow("第二列") IsNot Nothing OrElse e.DataRow("第三列") IsNot Nothing Then If e.DataRow("第一列") < 1 OrElse e.DataRow("第二列") < 50 OrElse e.DataRow("第三列") < 25 Then e.DataRow("第四列") = 4 ElseIf e.DataRow("第一列") < 2 OrElse e.DataRow("第二列") < 80 OrElse e.DataRow("第三列") < 50 Then e.DataRow("第四列") = 3 ElseIf e.DataRow("第一列") < 3 OrElse e.DataRow("第二列") < 100 OrElse e.DataRow("第三列") < 75 Then e.DataRow("第四列") = 2 ElseIf e.DataRow("第一列") < 4 OrElse e.DataRow("第二列") < 120 OrElse e.DataRow("第三列") < 100 Then e.DataRow("第四列") = 1 Else e.DataRow("第四列") = 0 End If End If 这段代码,只有当第1-3列均非空时是正确的;但只要有一列空值,第四列就会等于4. 所以不符合要求
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2017/6/9 22:19:00 -- Case "第一列","第二列","第三列" Dim v As Integer = 0 If e.DataRow.Isnull("第一列") = False Then If e.DataRow("第一列") < 1 Then v = 4 ElseIf e.DataRow("第一列") < 2 Then v = 3 ElseIf e.DataRow("第一列") < 3 Then v = 2 ElseIf e.DataRow("第一列") < 4 Then v = 1 Else v = 0 End If End If Dim v2 As Integer = 0 If e.DataRow.Isnull("第二列") = False Then If e.DataRow("第二列") < 50 Then v2 = 4 ElseIf e.DataRow("第二列") < 80 Then v2 = 3 ElseIf e.DataRow("第二列") < 100 Then v2 = 2 ElseIf e.DataRow("第二列") < 120 Then v2 = 1 Else v2 = 0 End If End If v = Math.Max(v,v2) Dim v3 As Integer = 0 If e.DataRow.Isnull("第三列") = False Then If e.DataRow("第三列") < 25 Then v3 = 4 ElseIf e.DataRow("第三列") < 50 Then v3 = 3 ElseIf e.DataRow("第三列") < 75 Then v3 = 2 ElseIf e.DataRow("第三列") < 100 Then v3 = 1 Else v3 = 0 End If End If e.DataRow("第四列") = Math.Max(v,v3) [此贴子已经被作者于2017/6/9 22:19:34编辑过]
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:chh2321 -- 发布时间:2017/6/9 23:20:00 -- 谢谢老师! 祝周末愉快!
|