由于涉及产品的变化,有一些判定用代码要经常做修改,故统一放在表“ABC”的“第三列”备注列中。
但现在要引用参与运算时不时什么处理,请高手指点。
如:Tables("ABC").Rows(0)("第三列") 的备注内容为:dt.Compute("Count(姓名)", dr("科目") & " > 0 And [期数] = '" & e.Datarow("期数") & "'And [班级] = '" & e.Datarow("班级") & "'" )
下列代码可运行:
Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("成绩表")
If e.DataCol.Name = "科目" And e.DataRow.IsNull("科目") = False Then
Dim CC As String = dt.Compute("Count(姓名)", dr("科目") & " > 0 And [期数] = '" & e.Datarow("期数") & "'And [班级] = '" & e.Datarow("班级") & "'" )
e.DataRow("参考人数") = CC '“参考人数” 列为整数列
End If
但要是用引用就不行,什么处理?提示数据列转换错误。
Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("成绩表")
If e.DataCol.Name = "科目" And e.DataRow.IsNull("科目") = False Then
Dim CC As String = Tables("ABC").Rows(0)("第三列") '引用备注列的内容
e.DataRow("参考人数") = CC
'想达到以下的运行效果:e.DataRow("参考人数") = dt.Compute("Count(姓名)", dr("科目") & " > 0 And [期数] = '" & e.Datarow("期数") & "'And [班级] = '" & e.Datarow("班级") & "'" )
End If