以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何进行动态参数设置 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48742) |
||||
-- 作者:hrw68529 -- 发布时间:2014/4/4 10:09:00 -- [求助]如何进行动态参数设置 下边例子中,有三个表,涉及到的只有“笔试成绩”和“职位代码”表,需求: 1、职位代码表中的进入体检比例,需要动态填写,有时候是统一的比例,有时候是个别职位代码分别设置比例; 2、“笔试成绩”表中的“形不成竞争”是指“职位代码”表中的按照职位代码分类,如果实际参加面试数小于或等于职位数,则为“形不成竞争”,这时需要看这个人的面试成绩是否小于所在的分组的面试平均值,如果小于,则“笔试成绩”表的“是否进入体检”为false(也就是进入不到体检),否则为true. 3、设置“进入体检比例”是为了计算此人能否进入体检,逻辑关系是:如果“笔试成绩”表中的面试排名小于或等于“职位代码”表中的“进入体检比例*职位数”,则“笔试成绩”表中的“是否进入体检”为true,否则为false. 综上所述,当软件制作成后,(1)、如何任意设置“进入体检比例”;(2)、如何写2、3、的代码。谢谢 例子如下:
|
||||
-- 作者:Bin -- 发布时间:2014/4/4 10:51:00 -- 2描述不清, 不形成竞争全部进入体检, 形成则看成绩是否高于平均成绩再进入体检是吗? |
||||
-- 作者:Bin -- 发布时间:2014/4/4 10:54:00 -- 另外你这段代码,每次DataColChanged都执行,无论改变的是哪个列, 效率太差了吧. \'获得所有班级名称,保存在集合中 Dim bjs As List(Of String) = DataTables("笔试成绩").GetValues("职位代码") For Each bj As String In bjs \'获得该班级的全部行,按总分降序排序 Dim drs As List(Of DataRow) = DataTables("笔试成绩").Select("[职位代码] = " & bj, "面试成绩 DESC") For n As Integer = 0 To drs.Count - 1 \'遍历所有行 If n > 0 AndAlso drs(n)("面试成绩") = drs(n-1)("面试成绩") Then \'如果总分和上一行相同 drs(n)("面试排名") = drs(n-1)("面试排名") \'则排名等于上一行 Else drs(n)("面试排名") = n + 1 \'设置排名 End If Next Next |
||||
-- 作者:lsy -- 发布时间:2014/4/4 10:59:00 -- 最关键的是:设置“进入体检比例”,按什么规则设置。 没有规则,代码就无依据。 |
||||
-- 作者:hrw68529 -- 发布时间:2014/4/4 12:38:00 -- 不好意思,上午开会去了,怠慢各位了, 1、形不成竞争:如果这个考生的面试成绩达不到考生所在分组的平均值,就视为不能进入体检,如果考生的面试成绩大于或等于所在分组的平均值,就视为能进入体检; 2、体检比例:能不能设置一个窗口,根据需要进行更改,进入体检比例要求不一样,有时候是1.2,有时是1.5,还有的时候是按不同职位代码进行设置,如15012204为1.2,15012203为1.5………….这个问题,我原想在“职位代码”表中设置,但如果生成软件后,职位代码表不显示了,没法设置,有什么办法没有。谢谢各位关注。
|
||||
-- 作者:hrw68529 -- 发布时间:2014/4/4 12:39:00 -- 3、关于bin说的排名代码, 我是改说明书上的,能改进吗,谢谢 |
||||
-- 作者:lsy -- 发布时间:2014/4/4 14:00:00 --
|