以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]连续编号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172772) |
||||
-- 作者:lgj716330 -- 发布时间:2021/10/30 11:50: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 上面标黄色部分条件如果是字符,如何实现,如202110260845000423147
|
||||
-- 作者:有点蓝 -- 发布时间:2021/10/30 12:03:00 -- 黄色部分是 比较2个单元格的数据,和是不是字符没有任何关系,字符一样用。 |
||||
-- 作者:lgj716330 -- 发布时间:2021/10/30 13:04: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 序号并没有递增
|
||||
-- 作者:有点蓝 -- 发布时间:2021/10/30 13:20:00 -- dim idx as ibteger = 1 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)("序号") = idx idx = idx + 1 End If Next |
||||
-- 作者:lgj716330 -- 发布时间:2021/10/30 19:14:00 --
麻烦贴下代码哈,计划马上入手一个高级版的了
|
||||
-- 作者:lgj716330 -- 发布时间:2021/10/31 10:05:00 -- 已解决,加了一列辅助列处理 |