Foxtable(狐表)用户栏目专家坐堂 → 狐爸请看系统日期错误和代码求助


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

主题:狐爸请看系统日期错误和代码求助

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/23 11:14:00 [显示全部帖子]

第一个问题,在订单明细表的DataColChanged事件加入代码:

 

If e.DataCol.Name = "核销标记" Then
    Dim pr As DataRow = e.DataRow.GetParentRow("订单")
    If pr IsNot Nothing Then
        Dim drs As List(of DataRow) = pr.GetChildRows("订单明细")
        Dim cnt As Integer
        For Each dr As DataRow In drs
            If dr("核销标记") = True Then
                cnt = cnt +1
            End If
        Next
        If cnt = drs.Count  Then
            pr("状态") = "全部已核销"
        ElseIf cnt = 0 Then
            pr("状态") = "全部未核销"
        Else
            pr("状态") = "部分以核销"
        End If
    End If
End If

 

第二个问题我这边正常,请执行杂项功能区工具菜单的版本检测命名,将检测结果抓图贴上来看看。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/23 12:21:00 [显示全部帖子]

以下是引用红叶在2011-2-23 11:50:00的发言:

在原有的订单明细中新增行时,不能准确的给出"状态"提示,如原有三条全部选中,"状态"为"全部核销",但再增加一条明细时未操作"核销标记","状态"还是"全部核销",正确应为"部分核销"

 

将订单明细表的DataRowAdded事件代码设置为:

 

Dim pr As DataRow = e.DataRow.GetParentRow("订单")
If pr IsNot Nothing Then
   If pr("状态") = "全部已核销"
      pr("状态") = "部分已核销"
   End If
End If

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/23 14:38:00 [显示全部帖子]

第二个问题我测试正常,将错误提示详细信息按钮中的内容复制到一个文本文件,压缩后发上来我看看。

 

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/23 14:55:00 [显示全部帖子]

以下是引用红叶在2011-2-23 14:38:00的发言:

但是在删除明表行时,如果原"状态"为"部分已核销"时,不能准确的给出"状态"信息

 

 你可以在订单明细的DataRowDeleting设置代码:

 

Dim pr As DataRow = e.DataRow.GetParentRow("订单")
If pr IsNot Nothing Then
    Dim drs As List(of DataRow) = pr.GetChildRows("订单明细")
    Dim cnt As Integer
    For Each dr As DataRow In drs
        If dr("核销标记") = True And dr("_Identify") <> e.DataRow("_Identify") Then
            cnt = cnt +1
        End If
    Next
   If cnt = drs.Count - 1  Then
        pr("状态") = "全部已核销"
    ElseIf cnt = 0 Then
        pr("状态") = "全部未核销"
    Else
        pr("状态") = "部分已核销"
    End If
End If


 回到顶部