Foxtable(狐表)用户栏目专家坐堂 → 如何根据数值来进行等级划分


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

主题:如何根据数值来进行等级划分

帅哥哟,离线,有人找我吗?
不同凡响的声音
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:608 威望:0 精华:0 注册:2011/9/12 21:40:00
如何根据数值来进行等级划分  发帖心情 Post By:2011/10/17 23:13:00 [只看该作者]

如何根据数值来进行等级划分,并将等级填入相应的单元格内。如表A中第一列为数值、第二列为等级,要根据数值从高到低进行等级划分,其中A等占10% B等占25% C等占40%  D等占20%  E等占5%,不知道如何设置代码,请各位朋友帮看看,谢谢

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/10/17 23:39:00 [只看该作者]

这个问题不同凡响啊···

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


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/17 23:40:00 [只看该作者]

做个按钮,代码为:

 

 

Dim vals() As Double = {0.1,0.35,0.75,0.95}
Dim cnt As Integer = DataTables("表A").DataRows.count
Dim drs As List (of DataRow) = DataTables("表A").Select("","分数 Desc")
For i As Integer = 0 To drs.count - 1
    Dim v As Integer = i /cnt
    If v > vals(3) Then
        drs(i)("等级") = "E"
    ElseIf v > vals(2) Then
        drs(i)("等级") = "D"
    ElseIf v > vals(1) Then
        drs(i)("等级") = "C"
    ElseIf v > vals(0) Then
        drs(i)("等级") = "B"
    Else
        drs(i)("等级") = "A"
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
不同凡响的声音
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:608 威望:0 精华:0 注册:2011/9/12 21:40:00
  发帖心情 Post By:2011/10/18 22:03:00 [只看该作者]

谢谢,试试看,测试了,可结果只能分出A等和E等,B、C、D三个等次都没有。不知道什么关键的地方有误呀?
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-10-18 22:22:27编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/18 22:33:00 [只看该作者]

Dim vals() As Double = {0.1,0.35,0.75,0.95}
Dim cnt As Integer = DataTables("表A").DataRows.count
Dim drs As List (of DataRow) = DataTables("表A").Select("","分数 Desc")
For i As Integer = 0 To drs.count - 1
    Dim v As Double  = i /cnt
    If v > vals(3) Then
        drs(i)("等级") = "E"
    ElseIf v > vals(2) Then
        drs(i)("等级") = "D"
    ElseIf v > vals(1) Then
        drs(i)("等级") = "C"
    ElseIf v > vals(0) Then
        drs(i)("等级") = "B"
    Else
        drs(i)("等级") = "A"
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
不同凡响的声音
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:608 威望:0 精华:0 注册:2011/9/12 21:40:00
  发帖心情 Post By:2011/10/18 22:57:00 [只看该作者]

OK,看来这个功能可以作为让老大花点银子的亮点了,那么好的软件真的应该多用用,不知道这个软件在教育系统里面还有没有更多的亮点让哪些老大们肯花点银子。请狐爸给介绍介绍

 回到顶部
帅哥哟,离线,有人找我吗?
不同凡响的声音
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:608 威望:0 精华:0 注册:2011/9/12 21:40:00
  发帖心情 Post By:2011/12/14 16:18:00 [只看该作者]

再将请教一下各位狐友,如果表中有多列的成绩,分别为成绩1、成绩2、成绩3……成绩20,相应的有等级1、等级2、等级3……等级20,能用一个按钮就搞定吗?如果能,代码是怎么修改才能达到所需要的效果?谢谢。


 回到顶部
帅哥哟,离线,有人找我吗?
不同凡响的声音
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:608 威望:0 精华:0 注册:2011/9/12 21:40:00
  发帖心情 Post By:2011/12/16 10:37:00 [只看该作者]

这个问题理论上应该在源代码上修改就可以了吧,可关键在哪呢,请狐友们指点一二,谢谢!


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


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/16 10:54:00 [只看该作者]

既然单列可以一个按钮,多列一样可以一个按钮,因为原理一样。

要具体答案,就得有具体问题,自己做好表,输入测试数据发上来,再具体说明问题。

泛泛而问,也只能泛泛而答。


 回到顶部
帅哥哟,离线,有人找我吗?
不同凡响的声音
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:608 威望:0 精华:0 注册:2011/9/12 21:40:00
  发帖心情 Post By:2011/12/16 13:58:00 [只看该作者]

安装商业版,做文件时出了点故障……等待中

 回到顶部
总数 19 1 2 下一页