.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,窗口1,Button2,Click
详细错误信息:
无法在 System.String 和 System.Int32 上执行“=”操作。
具体代码如下:
Dim kslxs As List(Of String) = DataTables("类排序表").GetValues("考试类代码")
For Each kslx As String In kslxs
'获得该班级的全部行,按总分降序排序
Dim drs As List(Of DataRow) = DataTables("类排序表").Select("[考试类代码] = " & kslx, "修正分数 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这个问题如何解决?谢谢老师
老师,找到了:Dim drs As List(Of DataRow) = DataTables("类排序表").Select("[考试类代码] ='" & kslx & "'","修正分数 DESC")
老师,还有一个问题,这里排序是相同分数并列,如有5个100分,这五个人并列
第一名,99分的排名就是第六名了,我不想让他这样排,我的目的是让99分的,排
第二名,这个代码如何来写?谢谢老师
……
dim a as integer = 1
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)("类排序") = a '设置排名
a += 1
End If
Next
Next这个问题如何解决?谢谢老师