以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 隐查显示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102242) |
-- 作者:刘林 -- 发布时间:2017/6/15 21:43:00 -- 隐查显示 请问老师如何将成绩表中考试名称包含"毕业"二字的行的语文成绩显示为等级(优\\良\\及格\\不及格) |
-- 作者:有点色 -- 发布时间:2017/6/15 22:04:00 -- 循环每一行dr,写代码
If dr("考试名称") like "*毕业*" Then dr("语文成绩") = "优" \'条件自己判断 End If
|
-- 作者:刘林 -- 发布时间:2017/6/15 22:37:00 -- Dim dr As DataRow = DataTables("考试名称").find("考试名称 = \'" & e.Row("考试名称") & "\' and 学段 = \'"& e.row("学段") & "\' And 显示为等级 = \'True\'") If dr IsNot Nothing Select Case e.Col.name Case "语文_A","数学_A","语文_语总","数学_数总" If E.Row("语文_A")>=85 e.text ="优" End If If E.Row("数学_A")>=85 e.text ="优" End If If E.Row("语文_语总")>=85 e.text ="优" End If If E.Row("数学_A")>=85 e.text ="优" End If If E.Row("语文_A")>=75 And E.Row("语文_A")<=84 e.text ="良" End If If E.Row("数学_A")>=75 And e.Row("数学_A") <=84 e.text ="良" End If If E.Row("数学_数总")>=75 And e.Row("数学_数总") <=84 e.text ="良" End If If E.Row("语文_语总")>=75 And e.Row("语文_语总") <=84 e.text ="良" End If If E.Row("语文_A")>=60 And E.Row("语文_A")<=74 e.text ="合格" End If If E.Row("数学_A")>=60 And E.Row("数学_A")<=74 e.text ="合格" End If If E.Row("语文_语总")>=60 And E.Row("语文_语总")<=74 e.text ="合格" End If If E.Row("数学_数总")>=60 And E.Row("数学_数总")<=74 e.text ="合格" End If If E.Row("语文_A")<=59 e.text ="不合格" End If If E.Row("数学_A")<=59 e.text ="不合格" End If If E.Row("语文_语总")<=59 e.text ="不合格" End If If E.Row("数学_数总")<=59 e.text ="不合格" End If Case "总分" e.text ="***" End select End If 上面代码写在drawcell中,问题是上面代码如何简化并提高效率,还有好像判断有问题,怎么改?谢谢
|
-- 作者:有点色 -- 发布时间:2017/6/15 23:48:00 -- 1、如果想提高效率,你要加一列【显示为等级】,然后直接在本表对比。不然每次find的话,很慢的。
2、简化的问题
Select Case e.Col.name |