Foxtable(狐表)用户栏目专家坐堂 → 为什么不起作用


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

主题:为什么不起作用

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/9 16:04:00 [显示全部帖子]

 上传具体例子,或者加入msgbox调试

 

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/9 16:26:00 [显示全部帖子]

别的表 Datacolchanging 事件有影响

 

Select Case e.DataCol.Name
        Case "出库单号"
            Dim bmcls As List(Of String) = DataTables("部门信息表").GetValues("领用单位表名")
            For Each  bmcl As String In bmcls
                If DataTables.Contains(bmcl) Then
                    Dim dh As DataRow = DataTables(bmcl).Find("[出库单号] = '" & e.NewValue & "'")
                    If dh IsNot Nothing Then
                        e.Cancel = True
                    End If
                    'Dim ckdh As DataRow = DataTables(bmcl).Find("[出库单号] = '" & e.NewValue & "'")
                    If dh Is Nothing Then
                        'Dim bms As List(Of String) = DataTables("部门").GetValues("部门类别")
                        ' For Each  bm As String In bms
                        '  If DataTables.Contains(bm) Then
                       
                        If e.DataRow("记账") = True And e.DataRow("分配表名") = bmcl Then
                            Dim nma() As String = {"物料代码","物料名称","规格型号","常用计量单位","加权平均单价","出库数量","出库金额","出库日期","出库单号","作业项目","成本项目","材料用途","领用人"} 'A表数据来源列
                            Dim nmb() As String = {"物料代码","物料名称","规格型号","常用计量单位","加权平均单价","出库数量","出库金额","领用日期","出库单号","作业项目","成本项目","材料用途","领用人"} 'B表数据接收列
                            Dim dr As DataRow = DataTables(bmcl).AddNew()
                            systemready = False
                            For i As Integer = 0 To nma.Length - 1
                                dr(nmb(i)) = e.DataRow(nma(i))
                            Next
                            systemready = True
                        End If
                        ' End If
                        ' Next
                    End If
                End If
            Next
    End Select


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/9 17:35:00 [显示全部帖子]

 你原本想做的是不是这个意思?

 

    Select Case e.DataCol.Name
        Case "部门类别"
            Dim fdr As DataRow = DataTables("部门信息表").Find("部门类别 = '" & e.DataRow("部门类别") & "'")
            If fdr IsNot Nothing Then
                e.DataRow("分配表名") = fdr("领用单位表名")
            End If
           
    End Select


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/9 17:59:00 [显示全部帖子]

9楼已经告诉你了。别的表的Datacolchanging事件影响了。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/9 18:02:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "出库单号"
        If e.DataRow("记账") = True Then
            If DataTables.Contains(e.DataRow("分配表名")) Then
                Dim dh As DataRow = DataTables(e.DataRow("分配表名")).Find("[出库单号] = '" & e.NewValue & "'")
               
                If dh Is Nothing Then
                   
                    Dim nma() As String = {"物料代码","物料名称","规格型号","常用计量单位","加权平均单价","出库数量","出库金额","出库日期","出库单号","作业项目","成本项目","材料用途","领用人"} 'A表数据来源列
                    Dim nmb() As String = {"物料代码","物料名称","规格型号","常用计量单位","加权平均单价","出库数量","出库金额","领用日期","出库单号","作业项目","成本项目","材料用途","领用人"} 'B表数据接收列
                    Dim dr As DataRow = DataTables(e.DataRow("分配表名")).AddNew()
                    systemready = False
                    For i As Integer = 0 To nma.Length - 1
                        dr(nmb(i)) = e.DataRow(nma(i))
                    Next
                    systemready = True
                   
                End If
            End If
        End If
End Select

[此贴子已经被作者于2015/6/9 18:03:49编辑过]

 回到顶部