If e.DataCol.Name = "报考学科" Or e.DataCol.Name = "面试讲课" Or e.DataCol.Name = "面试技能" Then '如果内容发生变动的是品名列
If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
e.DataRow("面试成绩") = Nothing '那么清空此行单价列的内容
End If
If e.DataRow("报考学科") In ('计算机','体育','美术','音乐') Then
e.DataRow("面试成绩") =( e.DataRow("面试讲课") + e.DataRow("面试技能"))/2
Else
e.DataRow("面试成绩") =e.DataRow("面试讲课")
End If
End If
这样试试,应该是 End If位置没有对