Foxtable(狐表)用户栏目专家坐堂 → 使用加载树时,跨表数据无法正常引用


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

主题:使用加载树时,跨表数据无法正常引用

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


加好友 发短信
等级:婴狐 帖子:32 积分:318 威望:0 精华:0 注册:2018/7/26 21:12:00
使用加载树时,跨表数据无法正常引用  发帖心情 Post By:2018/9/7 20:40:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

代码:

Select Case e.DataCol.Name
    Case "库存数量","补充数量","物料描述","规格型号","单位","物料属性","采购在途","单价"
        Dim Filter As String = "[物料代码] = '" & e.DataRow("物料代码") & "'"
        Dim drs As List(Of DataRow) = DataTables("采购订单").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
End Select



图片点击可在新窗口打开查看此主题相关图片如下:捕获1.jpg
图片点击可在新窗口打开查看

代码:
If e.DataCol.Name = "物料代码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("物料描述") = Nothing
        e.DataRow("规格型号") = Nothing
        e.DataRow("单位") = Nothing
        e.DataRow("库存数量") = Nothing
        e.DataRow("补充数量") = Nothing
        e.DataRow("物料属性") = Nothing
        e.DataRow("采购在途") = Nothing
        e.DataRow("单价") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("物料信息").Find("[物料代码] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            e.DataRow("物料描述") = dr("物料描述")
            e.DataRow("规格型号") = dr("规格型号")
            e.DataRow("单位") = dr("单位")
            e.DataRow("库存数量") = dr("库存数量")
            e.DataRow("补充数量") = dr("补充数量")
            e.DataRow("物料属性") = dr("物料属性")
            e.DataRow("采购在途") = dr("采购在途")
            e.DataRow("单价") = dr("单价")
        End If
    End If
End If

 

老师,使用加载树时数据无法正常显示,会形成空白。需要怎么处理这个问题


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/7 21:24:00 [只看该作者]

Select Case e.DataCol.Name
    Case "库存数量","补充数量","物料描述","规格型号","单位","物料属性","采购在途","单价"
        Dim Filter As String = "[物料代码] = '" & e.DataRow("物料代码") & "'"
        Dim drs As List(Of DataRow) = DataTables("采购订单").sqlSelect(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
DataTables("采购订单").SQLUpdate(drs)
DataTables("采购订单").RemoveFor(Filter)
DataTables("采购订单").AppendLoad(Filter)
End Select


第二段
……
Else
        Dim dr As DataRow
dr = DataTables("物料信息").Find("[物料代码] = '" & e.NewValue & "'")
If dr Is Nothing Then
    dr = DataTables("物料信息").SQLFind("[物料代码] = '" & e.NewValue & "'")
End If
If dr IsNot Nothing
……

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


加好友 发短信
等级:婴狐 帖子:32 积分:318 威望:0 精华:0 注册:2018/7/26 21:12:00
弹出对话框问题  发帖心情 Post By:2018/10/7 11:52:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:捕获2.jpg
图片点击可在新窗口打开查看
If e.DataCol.Name = "选择" AndAlso e.DataRow("选择") = True Then
    Dim nma() As String = {"采购编号","订单号","物料代码","物料描述","规格型号","单位","来料数量","供应商简称","送货单号","单价"} 'A表数据来源列
    Dim nmb() As String = {"采购编号","订单号","物料代码","物料描述","规格型号","单位","来料数量","供应商简称","送货单号","单价"} 'B表数据接收列
    Dim dr As DataRow = DataTables("入库明细").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If
图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

老师:跨表引用数据按你指导的代码,当我增加选择项,生成到第二个表时他会弹出对话框

[此贴子已经被作者于2018/10/7 11:55:05编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/7 12:03:00 [只看该作者]

和这段代码没有关系,贴出采购订单datacolchanged完整代码

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


加好友 发短信
等级:婴狐 帖子:32 积分:318 威望:0 精华:0 注册:2018/7/26 21:12:00
  发帖心情 Post By:2018/10/7 12:12:00 [只看该作者]

物料信息表
Select Case e.DataCol.Name
    Case "库存数量","补充数量","物料描述","规格型号","单位","物料属性","采购在途","单价"
        Dim Filter As String = "[物料代码] = '" & e.DataRow("物料代码") & "'"
        Dim drs As List(Of DataRow) = DataTables("采购订单").sqlSelect(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
        DataTables("采购订单").SQLUpdate(drs)
        DataTables("采购订单").RemoveFor(Filter)
        DataTables("采购订单").AppendLoad(Filter)
End Select

采购订单表
If e.DataCol.Name = "物料代码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("物料描述") = Nothing
        e.DataRow("规格型号") = Nothing
        e.DataRow("单位") = Nothing
        e.DataRow("库存数量") = Nothing
        e.DataRow("补充数量") = Nothing
        e.DataRow("物料属性") = Nothing
        e.DataRow("采购在途") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("物料信息").Find("[物料代码] = '" & e.NewValue & "'")
        If dr Is Nothing Then
            dr = DataTables("物料信息").SQLFind("[物料代码] = '" & e.NewValue & "'")
        End If
        If dr IsNot Nothing
            e.DataRow("物料描述") = dr("物料描述")
            e.DataRow("规格型号") = dr("规格型号")
            e.DataRow("单位") = dr("单位")
            e.DataRow("库存数量") = dr("库存数量")
            e.DataRow("补充数量") = dr("补充数量")
            e.DataRow("物料属性") = dr("物料属性")
            e.DataRow("采购在途") = dr("采购在途")
        End If
    End If
End If

我是修改黄色标示这段代码,执行过程出现那个对话框。未修改前是数据修改后无法引用,修改后就是对话框出现错误

If e.DataCol.Name = "选择" AndAlso e.DataRow("选择") = True Then
    Dim nma() As String = {"采购编号","订单号","物料代码","物料描述","规格型号","单位","来料数量","供应商简称","送货单号","单价"} 'A表数据来源列
    Dim nmb() As String = {"采购编号","订单号","物料代码","物料描述","规格型号","单位","来料数量","供应商简称","送货单号","单价"} 'B表数据接收列
    Dim dr As DataRow = DataTables("入库明细").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If




 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/7 13:49:00 [只看该作者]

DataTables("采购订单").SQLUpdate(drs)        
DataTables("采购订单").RemoveFor(Filter)        
DataTables("采购订单").AppendLoad(Filter)

改为下面试试

DataTables("采购订单").SQLUpdate(drs) 
DataTables("采购订单").Load()

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


加好友 发短信
等级:婴狐 帖子:32 积分:318 威望:0 精华:0 注册:2018/7/26 21:12:00
  发帖心情 Post By:2018/10/7 14:19:00 [只看该作者]

老师,还是出现相同对话框


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/7 14:34:00 [只看该作者]

上传具体实例测试

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


加好友 发短信
等级:婴狐 帖子:32 积分:318 威望:0 精华:0 注册:2018/7/26 21:12:00
  发帖心情 Post By:2018/10/7 14:39:00 [只看该作者]

压缩文件无法上传


 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/7 14:42:00 [只看该作者]

只能上传2M以内的文件,上传项目文件和数据库即可,其他多余文件不需要。如果太大,可以放到云盘,然后提供下载链接

 回到顶部
总数 12 1 2 下一页