Foxtable(狐表)用户栏目专家坐堂 → 逻辑列勾选


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

主题:逻辑列勾选

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
逻辑列勾选  发帖心情 Post By:2013/12/4 11:02:00 [显示全部帖子]


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

订单明细表里的所有5项已完成都打钩后, 订单主表里的已完成自动打钩
订单明细表里的所有5项已完成都打钩后, 订单主表里的已完成自动打钩, 发现订单明细表里有一项未完成,去掉勾后订单主表的已完成自动去掉勾勾


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2013/12/4 11:18:00 [显示全部帖子]

上次就是我问的,问题没解决,再问一次, 谢谢!

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2013/12/4 11:22:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.3649
Foxtable 版本:2013.10.14.1
错误所在事件:表,订单明细表,DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Column ' 订单编号' does not belong to table 订单明细表.

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2013/12/4 13:38:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.3649
Foxtable 版本:2013.10.14.1
错误所在事件:表,订单明细表,DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Object reference not set to an instance of an object.

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2013/12/4 13:41:00 [显示全部帖子]

发错了

 


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2014/2/27 15:05:00 [显示全部帖子]

以下是引用Bin在2013-12-4 11:10:00的发言:
这个之前有人问过一模一样的问题,你到论坛上找找也许还能找到例子

在订单明细表中的DataColChanged事件
if e.datacol.name="已完成" then
   dim rlist as list(of datarow)=e.datatable.select("订单编号='" & e.datarow(" 订单编号") & "' and 已完成=true")
   if rlist.count=e.datatable.select("订单编号='" & e.datarow(" 订单编号") &"'").count then
     e.DataRow.GetParentRow("订单主表")("已完成")=true
    else
      e.DataRow.GetParentRow("订单主表")("已完成")=false
   end if
 
这个代码有个问题, 就是订单明细表一旦新增数据, 订单主表的已完成就自动打钩了, 我要的是订单明细表了所有的已完成都打钩后订单主表里的已完成才能打钩, 求解!
end if


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2014/2/27 15:11:00 [显示全部帖子]

现在订单明细表的DataColChanged的代码为:

 

'订单明细表里的所有项已完成都打钩后, 订单主表里的已完成自动打钩
'订单明细表里的所有项已完成都打钩后, 订单主表里的已完成自动打钩, 发现订单明细表里有一项未完成,去掉勾后订单主表的已完成自动去掉勾勾
If e.DataCol.name="已完成" Then
   Dim rlist As List(of DataRow)=e.DataTable.Select("订单序列号='" & e.DataRow("订单序列号") & "'and 已完成=true")
   If rlist.count=e.DataTable.Select("订单序列号='" & e.DataRow("订单序列号") &"'").count Then
     e.DataRow.GetParentRow("订单主表")("已完成")=True
    Else
      e.DataRow.GetParentRow("订单主表")("已完成")=False
   End If
End If

-----------------------------------------------------

问题:订单明细表一旦新增数据, 订单主表的已完成就自动打钩了,

---------------------------------------------------------------

要求:只有订单明细表里的已完成列都打钩后,订单主表的已完成列才能自动打钩

 


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2014/2/27 15:35:00 [显示全部帖子]

我重做了个列子, 发现代码是好的,没有出现新增订单明细表的行主表就自动打钩, 那么为什么会出现这个情况呢, 是其他代码引起的吗


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2014/2/27 15:45:00 [显示全部帖子]

找的原因了, 确实同其他代码有冲突, 谢谢!

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2018/1/23 11:18:00 [显示全部帖子]

这个代码还有一个问题, 就是订单明细表新增数据, 订单主表的勾勾自动取消, 但是如果删除新增的数据, 订单主表的勾勾没有自动打钩

订单明细表的代码如下:

 

If e.DataCol.name="已完成" Then
    Dim rlist As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已完成=true")
    If rlist.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
        e.DataRow.GetParentRow("订单主表")("已完成")=True
    Else
        e.DataRow.GetParentRow("订单主表")("已完成")=False
    End If
End If

If e.DataCol.name="已下单" Then
    Dim xdList As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已下单=true")
    If xdList.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
        e.DataRow.GetParentRow("订单主表")("已下单")=True
    Else
        e.DataRow.GetParentRow("订单主表")("已下单")=False
    End If
End If

If e.DataCol.name="已发货" Then
    Dim fhList As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已发货=true")
    If fhList.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
        e.DataRow.GetParentRow("订单主表")("已发货")=True
    Else
        e.DataRow.GetParentRow("订单主表")("已发货")=False
    End If
End If


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