Foxtable(狐表)用户栏目专家坐堂 → 代码冲突


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

主题:代码冲突

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


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

呵呵,看看帮助的流水账是怎么设计的:

 

http://www.foxtable.com/help/topics/2136.htm

 

有不区分产品的,也有区分产品的,区分产品的和你的类似,参考着写一下吧。

 

下面这个文件,我是复制粘贴帮助的代码,然后修改列名,其他一字未改:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目126.table


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


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

6楼的文件你下载看了吗?

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


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

我只是复制帮助的代码而已。

 

第二个问题,你可以自己写的啊,只是从表B找出对应的行,然后取值而已:

 

 

Select Case e.DataCol.Name
    Case "附表编号列","合格数量","结账数量"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [附表编号列] = '" & mr("附表编号列") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("未结数量") = mr("合格数量") - mr("结账数量")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [附表编号列] = '" & dr("附表编号列") & "'", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("未结数量") = drs(i-1)("未结数量") + drs(i)("合格数量") - drs(i)("结账数量")
        Next
        If e.DataCol.Name = "附表编号列" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [附表编号列] = '" & e.OldValue & "'", "[_SortKey] Desc")
            If dr Is Nothing Then
                dr = e.DataTable.Find("[附表编号列] = '" & e.OldValue & "'", "[_SortKey]")
                If dr IsNot Nothing Then
                    dr("未结数量") = dr("合格数量") - dr("结账数量")
                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [附表编号列] = '" & dr("附表编号列") & "'", "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("未结数量") = drs(i-1)("未结数量") + drs(i)("合格数量") - drs(i)("结账数量")
                Next
            End If
        End If
End Select
Select Case e.DataCol.Name
    Case "未结数量"
        If e.NewValue = 0 Then
            e.DataRow("结账情况")="已结账"
        ElseIf e.DataRow("合格数量") =e.NewValue Then
            e.DataRow("结账情况")="未结账"
        ElseIf e.newValue < e.DataRow("合格数量")  Or (e.DataRow.IsNull("合格数量") And e.NewValue > 0) Then
            e.DataRow("结账情况")="结账中"
        End If
     Case "附表编号列"
        Dim dr As DataRow = DataTables("表B").find("第一列B  = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
           e.DataRow("xxx") = dr("sss")
        End If
End Select


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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目126.table


 回到顶部