以下是引用有点甜在2014-8-13 16:44:00的发言:
楼主,你可以加入一列,把其他表的值写到本表来,这样你就只需要判断本表的数据。
Dim r As Row = Tables("需求主表").Current
If e.DataCol.name="审核通过" Then
If e.DataRow("审核通过") Then
If MessageBox.show("请核实已审核的需求","打勾前请确认",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)=DialogResult.OK Then
Dim m As New MailSender
m.Host = "mail.bdcom.com.cn"
m.Account = "version@bdcom.com.cn"
m.Password = "version"
m.From = "version@bdcom.com.cn"
m.To = r("邮件通知")
If r.IsNull("研发邮箱") = False Then
m.AddReceiver(r("研发邮箱"))
End If
If r.IsNull("附加通知人员") = False Then
m.AddReceiver(r("附加通知人员"))
End If
m.Title = "博达软件管理系统= = = = = = =" & "需求编号:" & r("需求编号") & "-----此需求已审核,请研发和测试尽快处理"
m.C & r("需求编号") & " 期望交期:" & r("期望交期")
m.Send
msgbox("需求编号:" & r("需求编号") & "------>" & "此需求已审核通过并mail通知了相关研发测试人员!")
Select Case e.DataCol.Name
Case "审核通过"
Tables("需求主表").Filter = "审核通过 = False And 审核不通过 = False"
End Select
If r.DataRow.GetChildRows("需求明细表").Count = 0 Then
Dim dr As DataRow = DataTables("需求明细表").AddNew()
dr("状态") = r("审核通过")
End If
If r.DataRow.GetChildRows("临时版本跟踪表").Count = 0 Then
Dim dr As DataRow = DataTables("临时版本跟踪表").AddNew()
dr("需求编号") = r("需求编号")
End If
End If
End If
End If
这是需求主表datacolchanged代码。
增加的是下面的代码是不是有问题啊。执行完在需求明细表的状态列没有内容。
If r.DataRow.GetChildRows("需求明细表").Count = 0 Then
Dim dr As DataRow = DataTables("需求明细表").AddNew()
dr("状态") = r("审核通过")