这里同样会有错误要一直错下去:
Dim drs1 As List(Of DataRow) = t.DataTable.Select("[单位] <> '合计'","合计_工效 DESC")
For n As Byte = 0 To drs1.Count - 1 '遍历所有行
If n > 0 AndAlso drs1(n)("合计_工效") = drs1(n-1)("合计_工效") Then '如果"合计_工效"和上一行相同
drs1(n)("合计_名次") = drs1(n-1)("合计_名次") '则排名等于上一行
Else
drs1(n)("合计_名次") = n + 1 '设置名次
End If
Next
应该改为:
Dim drs1 As List(Of DataRow) = t.DataTable.Select("[单位] <> '合计'","合计_工效 DESC")
if drs1.Count > 0
For n As Byte = 0 To drs1.Count - 1 '遍历所有行
If n > 0 AndAlso drs1(n)("合计_工效") = drs1(n-1)("合计_工效") Then '如果"合计_工效"和上一行相同
drs1(n)("合计_名次") = drs1(n-1)("合计_名次") '则排名等于上一行
Else
drs1(n)("合计_名次") = 1 '设置名次
End If
Next
end if