Foxtable(狐表)用户栏目专家坐堂 → 请大师看看这段代码


  共有3037人关注过本帖树形打印复制链接

主题:请大师看看这段代码

帅哥哟,离线,有人找我吗?
rjh4078
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3358 积分:24758 威望:0 精华:0 注册:2012/3/26 21:47:00
请大师看看这段代码  发帖心情 Post By:2014/5/13 15:32:00 [只看该作者]

 Case "审核"
        If e.NewValue IsNot Nothing Then
            If e.DataRow.GetChildRows("采购合同明细").count>0 Then
                For Each drr As DataRow In e.DataRow.getchildrows("采购合同明细")
                    drr("审核")=e.DataRow("审核")
                    drr.save
                Next
            End If
            If e.NewValue=True Then
                MessageBox.show("审核成功!")
                e.DataRow("审核人")=_username
                e.DataRow("审核日期")=Functions.Execute("stime","A5 ERP")
               
                If MessageBox.Show("是否发送信息通知相关操作员?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)=DialogResult.Yes Then
                    djlx="采购合同"
                    bhlx="采购合同号"
                    djbh=e.DataRow("采购合同号")
                    msg="编号为:【" & e.DataRow("采购合同号") & "】的【" & e.DataTable.Name & "】通过审核,请尽快处理!"
                    Forms("信息").show
                   
                End If
            Else
                If e.DataRow.RowState<>DataRowState.Detached Then
                    MessageBox.show("反审核成功!")
                    e.DataRow("审核人")=Nothing
                    e.DataRow("审核日期")=Nothing
                End If
            End If
            e.DataRow.save
        End If

 

这个代码目前有个问题 经常出现父行的审核=true了 子行却还是false 但大部分时候都是运作正常  非常郁闷

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/13 15:43:00 [只看该作者]

 代码没有错,会不会是你的 子表 数据没有加载完全?getchildrows("采购合同明细")的时候,有些后台的数据并没有获取到?

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3358 积分:24758 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2014/5/13 16:28:00 [只看该作者]

我在父表的afterload事件中已经有同步字表的代码了

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/13 16:32:00 [只看该作者]

用这个

datatables("子表").SQLReplaceFor(
"审核",e.DataRow("审核"),"关联列='" & e.datarow("关联列") & "'")

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/13 16:32:00 [只看该作者]

 可能是改变了关联列的内容,导致最后数据匹配不上。

 

 单纯这段代码是没有问题的。你自己测试一下怎么出错的吧。别人怎么猜?


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3358 积分:24758 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2014/5/14 16:19:00 [只看该作者]

主要是这个代码大部分时候都是OK的 偶尔失灵  摸不着头脑

 回到顶部