不要在datacolchanged事件里使用current这种用法,如果要去当前行,使用e.DataRow
Select Case e.DataCol.Name Case "预算编号"if e.DataRow.isnull("预算编号") = false
Dim dr As DataRow
dr = DataTables("基础预算表").Find("[预算编号] = '" & e.DataRow("预算编号") & "'")
If dr IsNot Nothing Then
e.DataRow("预算项目名称") = dr("项目名称")
e.DataRow("预算金额") = dr("预算金额")
e.DataRow("一级科目") = dr("一级科目")
e.DataRow("二级科目") = dr("二级科目")
e.DataRow("三级科目") = dr("三级科目")
e.DataRow("四级科目") = dr("四级科目")
e.DataRow("五级科目") = dr("五级科目")
e.DataRow("预算使用说明") = dr("预算使用说明")
End If
dr = DataTables("预算使用情况汇总表").Find("[预算编号] = '" & e.DataRow("预算编号") & "'")
If dr IsNot Nothing Then
r("已使用金额") = dr("预算发生数")
r("已使用占比") = dr("预算完成率")
r("预算余额") = dr("预算余额")
End If
end if
End Select