以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 子表增加行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89898) |
-- 作者:yifan3429 -- 发布时间:2016/9/1 0:11:00 -- 子表增加行 Select Case e.DataCol.Name Case "材料编号" If e.DataRow.IsNull("材料编号") = False Then \'如果已经输入订单编号 If e.DataRow.GetChildRows("核算汇总").Count > 0 Then \'而且有订单明细 (材料编号作为判断的依据列) ElseIf e.DataRow.GetChildRows("核算汇总").Count = 0 Then \'而且无订单明细 Dim dr1 As DataRow = DataTables("核算汇总").AddNew() dr1("材料编号") = e.DataRow("材料编号") dr1("报价编号") = e.DataRow("报价编号") End If End If End Select 现有的代码只关注增加 不能分析是否存在 我想要如果当前增加的过程中发现已经有了同样的内容存在 则放弃新增 否则新增行 复制内容 谢谢高手
[此贴子已经被作者于2016/9/1 0:11:41编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/9/1 8:58:00 -- Select Case e.DataCol.Name Case "材料编号" If e.DataRow.IsNull("材料编号") = False Then \'如果已经输入订单编号 Dim dr As DataRow = DataTables("核算汇总").Find(CExp("材料编号=\'{0}\' and 报价编号=\'{1}\'",e.DataRow("材料编号"),e.DataRow("报价编号"))) If dr Is Nothing Then Dim dr1 As DataRow = DataTables("核算汇总").AddNew() dr1("材料编号") = e.DataRow("材料编号") dr1("报价编号") = e.DataRow("报价编号") End If End If End Select
|