Foxtable(狐表)用户栏目专家坐堂 → 怎么锁定知道行


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

主题:怎么锁定知道行

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/12 19:02:00 [只看该作者]

以下是引用有点甜在2013-12-31 21:11:00的发言:
 Dim t As Table = Tables("xxx")
For Each r As Row In t.Rows
    Dim over As Boolean = False
    For i As Integer = 4 To 21
        If r(t.Cols(i).Name) < 60 Then
           r("备注") = "不及格"
           over = True
            Exit For
        End If
    Next
    If over = False Then
        If r("综合成绩") > 90 Then
            r("备注") = "优秀"
        Else If r("综合成绩") > 80 Then
            r("备注") = "良好"
        Else If r("综合成绩") > 70 Then
            r("备注") = "中等"
        Else If r("综合成绩") > 60 Then
            r("备注") = "合格"
        Else 
            r("备注") = "不合格"
        End If
    End If
Next

现在想把软件优化一下,上面代码是先比较前面成绩低于60就为不及格,现在想改一下,如果该学生没选这门课这门课程成绩是0,这是上面代码处理结果不及格,显然不合适,怎么改一下做到,低于60为不及格,如果为0就不判断为不及格。代码怎么改合适呢!最好是不及格可以特殊现实,比如红色字体或者背景颜色不同。
[此贴子已经被作者于2014-1-12 19:06:44编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/12 19:11:00 [只看该作者]

Dim t As Table = Tables("xxx")
For Each r As Row In t.Rows
    Dim over As Boolean = False
    For i As Integer = 4 To 21
        If r.IsNull(t.Cols(i).Name) = False AndAlso r(t.Cols(i).Name) < 60 Then
           r("备注") = "不及格"
           over = True
            Exit For
        End If
    Next
    If over = False Then
        If r("综合成绩") > 90 Then
            r("备注") = "优秀"
        Else If r("综合成绩") > 80 Then
            r("备注") = "良好"
        Else If r("综合成绩") > 70 Then
            r("备注") = "中等"
        Else If r("综合成绩") > 60 Then
            r("备注") = "合格"
        Else 
            r("备注") = "不合格"
        End If
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/12 19:20:00 [只看该作者]

红色的那段代码意思是如果不为空并且小于60 的意思吗?如果是0算是空吗?
能不能让不及格的这行红色显示呢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/12 19:32:00 [只看该作者]

 如果选修的定义是一定有成绩,也就是说肯定大于0的话,你就多加一个大于0的判断呗。

 如果要红色显示某一行,参考drawcell事件


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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/12 20:56:00 [只看该作者]

以下是引用有点甜在2014-1-12 19:32:00的发言:
 如果选修的定义是一定有成绩,也就是说肯定大于0的话,你就多加一个大于0的判断呗。


我都尝试了,不行,只要有空的就显示为不及格。麻烦帮忙再改改代码试试吧。

Dim t As Table = Tables("xxx")
For Each r As Row In t.Rows
    Dim over As Boolean = False
    For i As Integer = 4 To 21
        If r.IsNull(t.Cols(i).Name) = False and r(t.Cols(i).Name) >0 AndAlso r(t.Cols(i).Name) < 60 Then
           r("备注") = "不及格"
           over = True
            Exit For
        End If
    Next
    If over = False Then
        If r("综合成绩") > 90 Then
            r("备注") = "优秀"
        Else If r("综合成绩") > 80 Then
            r("备注") = "良好"
        Else If r("综合成绩") > 70 Then
            r("备注") = "中等"
        Else If r("综合成绩") > 60 Then
            r("备注") = "合格"
        Else 
            r("备注") = "不合格"
        End If
    End If
Next

看看错那了

[此贴子已经被作者于2014-1-12 20:57:38编辑过]

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/12 21:40:00 [只看该作者]

以下是引用有点甜在2014-1-12 19:32:00的发言:

 如果要红色显示某一行,参考drawcell事件



这个样式我尝试了成功了,可是关闭再打开显示不是所有数值都有父值,这个表的所有成绩都是表达列,不是数据列。这个样式还嫩不能实现呢


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/12 21:40:00 [只看该作者]

 呃,代码没有错,你得先清空原来这一列的数据吖。

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/12 21:45:00 [只看该作者]

你是说清空“不及格”的数据吧,我清空了呀。然后点按钮就又显示不及格了
[此贴子已经被作者于2014-1-12 21:46:00编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/12 21:47:00 [只看该作者]

 哦,要改一下代码
[此贴子已经被作者于2014-1-12 21:48:33编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/12 21:52:00 [只看该作者]

 理论成绩也有留空的情况?

Dim t As Table = Tables("xxx")
For Each r As Row In t.Rows
    Dim over As Boolean = False
    For i As Integer = 4 To 21
        If r.IsNull(t.Cols(i).Name) = False And r(t.Cols(i).Name) >0 AndAlso r(t.Cols(i).Name) < 60 Then
           r("备注") = "不及格"
           over = True
            Exit For
        End If
    Next
    If over = False Then
        If r("综合成绩") > 90 Then
            r("备注") = "优秀"
        Else If r("综合成绩") > 80 Then
            r("备注") = "良好"
        Else If r("综合成绩") > 70 Then
            r("备注") = "中等"
        Else If r("综合成绩") > 60 Then
            r("备注") = "合格"
        Else If r.IsNull("综合成绩") = False And r("综合成绩") >0 AndAlso r("综合成绩") < 60 then
            r("备注") = "不合格"
        else
            r("备注") = "不知道用什么标准了"
        End If
    End If
Next

 回到顶部
总数 68 上一页 1 2 3 4 5 6 7 下一页