以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120955) |
-- 作者:工匠 -- 发布时间:2018/6/27 8:28:00 -- [求助] 老师好: 请帮做个关于排名的例子,需求在项目文件备注。谢谢! 谢谢! |
-- 作者:有点甜 -- 发布时间:2018/6/27 9:06:00 -- Dim drs As List(Of DataRow) = DataTables("表A").Select("", "服务员业绩 DESC") For n As Integer = 0 To drs.Count - 1 \'遍历所有行 If n > 0 AndAlso drs(n)("服务员业绩") = drs(n-1)("服务员业绩") Then \'如果服务员业绩和上一行相同 drs(n)("服务员业绩排名") = "NO:" & format(drs(n-1)("服务员业绩排名"), "00") \'则排名等于上一行 Else drs(n)("服务员业绩排名") = "NO:" & format(n + 1, "00") \'设置排名 End If Next |
-- 作者:工匠 -- 发布时间:2018/6/27 9:26:00 -- 谢谢有点甜老师,排名可以计算了,还有种情况是:当有2个或多个服务员业绩相同时,需计算显示为并列排名(如:关师傅 业绩为85000,排名为NO:05,刘师傅 业绩为85000,排名也要计算显示为NO:05 ,现在计算显示结果为 NO:00), 请帮再看看,万分感谢!
[此贴子已经被作者于2018/6/27 9:30:43编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/27 9:58:00 -- Dim drs As List(Of DataRow) = DataTables("表A").Select("", "服务员业绩 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)("服务员业绩排名") = "NO:" & format(n + 1, "00") \'设置排名 End If Next |
-- 作者:工匠 -- 发布时间:2018/6/27 12:30:00 -- 谢谢老师,完全达到需求 |