Dim dr As Row = Tables("客观题答案").Rows(0)
Dim name = e.DataRow("姓名")
If e.DataCol.Name.StartsWith("客观题") Then
Dim lst1 As new List(of String)
Dim lst2 As new List(of String)
Dim filter = " ','+ [错误学生] +',' like '%," & name & ",%' and 统计号 like '" & e.DataCol.Name.Replace("客观题","") & "%'"
Dim drs As List(Of DataRow) = DataTables("卷1统").Select(filter)
For Each r As DataRow In drs
r("错误人数") = r("错误人数")-1
r("错误学生") = r("错误学生").replace(name,"").replace(",,",",").trim(",")
Next
Dim v As String
If e.NewValue > "" Then
v = e.NewValue
For i As Integer = 0 To v.Length-1
lst1.Add(v(i))
Next
v = dr(e.DataCol.Name)
For j As Integer = 0 To v.Length-1
If lst1.Contains(v(j)) Then
lst1.Remove(v(j))
Else
lst2.Add(v(j))
End If
Next
lst1.AddRange(lst2.ToArray())
For Each s As String In lst1
filter = "统计号 = '" & e.DataCol.Name.Replace("客观题","") & s.ToUpper() & "'"
Dim drt As DataRow = DataTables("卷1统").Find(filter)
drt("错误人数") = drt("错误人数")+1
drt("错误学生") = (drt("错误学生") & "," & e.DataRow("姓名")).trimstart(",")
Next
End If
ElseIf e.DataCol.Name.StartsWith("主观题") Then
Dim filter = " ','+ [错误学生] +',' like '%," & name & ",%' and 统计号 = '" & e.DataCol.Name.Replace("观题","") & "'"
Dim drs As List(Of DataRow) = DataTables("卷1统").Select(filter)
For Each r As DataRow In drs
r("错误人数") = r("错误人数")-1
r("错误学生") = r("错误学生").replace(name,"").replace(",,",",").trim(",")
Next
If e.NewValue = "f" Then
filter = "统计号 = '" & e.DataCol.Name.Replace("观题","") & "'"
Dim drt As DataRow = DataTables("卷1统").Find(filter)
drt("错误人数") = drt("错误人数")+1
drt("错误学生") = (drt("错误学生") & "," & name).trimstart(",")
End If
End If