Foxtable(狐表)用户栏目专家坐堂 → 关联表显示


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

主题:关联表显示

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/10 15:08:00 [显示全部帖子]

用法一样,参考着做:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=137425&skin=0

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/10 16:59:00 [显示全部帖子]

应该是代码放错地方了

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/11 9:00:00 [显示全部帖子]

子表:

    Case "未发数量","U8出库"
        Dim dr1 As DataRow = DataTables("角钢进料台账").Find("[进料表编号] = '" & e.DataRow("进料表编号") & "'")
        If dr1 IsNot Nothing Then
            DataTables("角钢进料台账").DataCols("进料表编号").RaiseDataColChanged(dr1)
        End If
End Select

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/11 11:00:00 [显示全部帖子]



Select Case e.DataCol.name
    Case "进料表编号"
        If e.DataRow.IsNull("进料表编号") Then
            DataTables("角钢进料表明细").DeleteFor("进料表编号='" & e.DataRow("进料表编号") & "'")
            e.DataRow("状态_发料完成") = False
            e.DataRow("状态_U8出库") = False
        Else
            If e.OldValue Is Nothing
                Dim ndr As Row = Tables("角钢进料表明细").AddNew
                ndr("进料表编号") = e.DataRow("进料表编号")
                ndr("工程名称") = e.DataRow("工程名称")
                ndr("塔型") = e.DataRow("塔型")
                ndr("仓储配料员") = e.DataRow("仓储配料员")
                ndr.Move(0)
            End If
If e.DataRow.GetChildRows.Count > 0
Dim cnt As Integer = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号='" & e.NewValue  & "' and U8出库=false")
e.DataRow("状态_U8出库") = (cnt=0)
cnt  = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号='" & e.NewValue  & "' and 未发数量 > 0")
e.DataRow("状态_发料完成") = (cnt=0)
end if
        End If
End Select

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/11 12:00:00 [显示全部帖子]

If e.DataRow.GetChildRows("角钢进料表明细").Count > 0

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/11 13:51:00 [显示全部帖子]

逻辑本来就是这样的啊。如果有明细,然后明细未发数量=0,就勾选

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/11 13:57:00 [显示全部帖子]

逻辑本来就是这样的。程序不可能知道这个数量是手工去掉的,还是本来就没有填。所以只能统一按照没有处理

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/11 14:37:00 [显示全部帖子]

cnt  = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号='" & e.NewValue  & "' and (未发数量 > 0 or 未发数量 is null)")

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/12 13:54:00 [显示全部帖子]

e.DataRow("U8出库") = (cnt=0 andalso e.DataRow("未发数量") <= 0)

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/12 15:03:00 [显示全部帖子]

没看懂,截图说明一下

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