以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于排名的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104425) |
-- 作者:scofields -- 发布时间:2017/7/28 20:41:00 -- 关于排名的问题 老师,我如何将下面这段代码改成,“市场部“合计_完成进度排名呢? Dim bjs As List(Of String) = DataTables("净销量").GetValues("**销量完成排名一览表_市场部") For Each bj As String In bjs \'获得该班级的全部行,按总分降序排序 Dim drs As List(Of DataRow) = DataTables("净销量").Select("[**销量完成排名一览表_市场部] = " & bj, "**销量完成排名一览表_合计_完成进度 ") 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 [此贴子已经被作者于2017/7/28 20:43:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/7/28 20:52:00 -- 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
|
-- 作者:scofields -- 发布时间:2017/7/28 21:22:00 -- 我用这个代码也实现了: Dim drs As List(Of DataRow) = DataTables("**销量").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)("****销量完成排名一览表_排名") = n + 1 \'设置排名 End If Next Tables("**销量").sort = "****销量完成排名一览表_合计_完成进度 Desc" |