以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何进行排序和填写等次列和筛选入围名单? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64962) |
||||
-- 作者:hrw68529 -- 发布时间:2015/3/6 9:03:00 -- [求助]如何进行排序和填写等次列和筛选入围名单? 1、排名:根据单位类型(即:01城市和02农村)和 专业组名称,进行排名,软件中的代码只是根据专业组进行排名,不会写根据单位类型和专业组名称,进行排名,请给予代码; 2、等次列:等次列的填写计算如下 :最终成绩90分及以上者为“优秀等次”;根据单位类型(即:01城市和02农村)、专业组名称排序后,按照排序,依据“评审称职”窗口中,给出的淘汰率(如10%),计算上述排序的同类人员总人数的淘汰分数线,高于淘汰比例的人员,在“等次”列填写“入围”,低于淘汰比例的人员的“等次”列,填写“末位淘汰”,淘汰人数实行四舍五入;如参加考试的同类人员(根据单位类型和专业组名称划分)较少,淘汰人数不足1人的,要根据各同类人员的淘汰分数线,算出各同类人员平均淘汰线,高于平均淘汰线的人员,在“等次”列填写“平均入围”,低于平均淘汰线的人员,在“等次”列写入:“平均淘汰”;最终成绩60分以下(不含60分)人员,在“等次”列,写入:“直接淘汰”; 3、筛选入围名单:当点击“评审职称”窗口的“筛选入围人员”时,根据等次列内容,将“优秀等次”、“入围”、“平均入围”人员筛选出来。 例子:
|
||||
-- 作者:hrw68529 -- 发布时间:2015/3/6 9:05:00 -- 如截图: 此主题相关图片如下:截图00.png |
||||
-- 作者:Bin -- 发布时间:2015/3/6 9:06:00 -- 额 怎么一直在排,掌握知识就灵活运用啊,不是一有问题就让别人帮你做 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=64949&skin=0 |
||||
-- 作者:有点甜 -- 发布时间:2015/3/6 9:10:00 -- 楼主你干脆叫别人帮你设置整个软件算了。 |
||||
-- 作者:hrw68529 -- 发布时间:2015/3/6 9:21:00 -- 不是刚学习吗?遇到这个问题我昨天搞了一天,搞不出来,只好求救了 |
||||
-- 作者:有点甜 -- 发布时间:2015/3/6 9:24:00 -- 1、 For Each lb As String In DataTables("职称评审成绩").GetValues("单位类型") e.Form.Controls("成绩").Table.Sort="单位类型,专业组名称,排名"
2、自己想办法
3、最基本的筛选也不会写? |
||||
-- 作者:hrw68529 -- 发布时间:2015/3/6 9:26:00 -- 呵呵,谢谢有点甜,年纪大了,想学点东西,总是掌握不好要领,谢谢 |
||||
-- 作者:有点甜 -- 发布时间:2015/3/6 10:01:00 -- 2、红色地方自己改
Dim dt As DataTable = DataTables("职称评审成绩") Dim ttl As Double = e.Form.Controls("NumericComboBox1").Value |
||||
-- 作者:有点甜 -- 发布时间:2015/3/6 10:02:00 -- 3、自己写 |
||||
-- 作者:hrw68529 -- 发布时间:2015/3/6 15:14:00 -- 有点甜,真不好意思,下列代码,弄了一中午,没搞好,你看一下红字的地方,要表述的是如果 If ttrs < 1 Then,那么就在等次列,填写“手工复审”,怎么改。 代码如下: Dim dt As DataTable = DataTables("职称评审成绩") Dim ttl As Double = e.Form.Controls("NumericComboBox1").Value For Each lb As String In dt.GetValues("单位类型") Dim zys As List(Of String) = dt.GetValues("专业组名称", "单位类型 = \'" & lb & "\'") For Each bj As String In zys Dim drs As List(Of DataRow) = dt.Select("单位类型 = \'" & lb & "\' and [专业组名称] = \'" & bj & "\'", "最终成绩") Dim ttrs As Integer = drs.Count * ttl If ttrs < 1 Then \'这种情况不知道什么意思,自己写 drs("等次") = "手工复审" Else For n As Integer = 0 To drs.Count - 1 If n > ttrs Then drs(n)("等次") = "末位淘汰" Else drs(n)("等次") = "入围" End If Next End If Next Next dt.ReplaceFor("等次", "优秀等次", "最终成绩 >= 90") dt.ReplaceFor("等次", "直接淘汰", "最终成绩 < 60") e.Form.Controls("成绩").Table.Sort="单位类型,专业组名称,面试顺序"
[此贴子已经被作者于2015/3/6 15:14:23编辑过]
|