老师,还是请教一下Sqlcommand用法。目前有两种情况,B表加载,不管是打开审批还是直接打开都能判断
第一种情况是在A表选择项目名称,B表继承部分列,以前是加载后的方法:
'跨表引用
If e.DataCol.Name = "项目名称" Then
Dim nms() As String = {"合同编码","所属机构","合同工期","开工日期","竣工日期","项目经理","项目总工"}
If e.NewValue Is Nothing Then
For Each nm As String In nms
e.DataRow(nm) = Nothing
Next
Else
Dim dr As DataRow
dr = DataTables("合同签订").SQLFind("[项目名称] = '" & e.NewValue & "'")
If dr IsNot Nothing
For Each nm As String In nms
e.DataRow(nm) = dr(nm)
Next
End If
End If
End If
第二种情况是当B表审批状态为审批完成,C表新增行,继承B表相关数据(打开OPenQQ审批没法C表是否加载)。
'勾选引用至-外经证管理
If e.DataCol.Name = "审批状态"
If e.DataRow("审批状态") = "审批通过" Then
Dim nma() As String = { "ID","合同编码","所属机构","项目名称","合同工期","开工日期","竣工日期","首次申请","延期申请","自营业务证明"} 'A表数据来源列
Dim nmb() As String = { "ID","合同编码","所属机构","项目名称","合同工期","开工日期","竣工日期","首次申请","延期申请","自营业务证明"} 'B表数据接收列
e.DataRow.save
Dim dr As DataRow = DataTables("外经证管理").AddNew
For i As Integer = 0 To nma.Length - 1
dr(nmb(i)) = e.DataRow(nma(i))
Next
Else
DataTables("外经证管理").deletefor("ID = '" & e.DataRow("ID") & "'")
End If
End If