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


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

主题:代码冲突

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
代码冲突  发帖心情 Post By:2013/12/11 17:26:00 [只看该作者]

兄弟们 帮我看看  表A是个流水账,表A的合格数量是绑定表A的第二列的
我在代码里面设置了一合格数量只能带入第一列,后面的默认为0
表面上都很正常,但是当我在附表编号列选择重置列的问题就出来了 希望大家帮帮我。感谢不敬啊!
帮看看是不是因为代码里面写有冲突,有一段代码是带入表B第二列 但是后面有个不带入的一个代码!
帮我改改 兄弟们 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:流水账联动结账情况.table



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

[此贴子已经被作者于2013-12-11 17:28:17编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/11 17:28:00 [只看该作者]

都点了一次重置列,没发现报错.  而且我也不是很理解你的问题.
[此贴子已经被作者于2013-12-11 17:28:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/11 19:57:00 [只看该作者]

 我看了一下,为什么要重置列?你随便修改一下表就重新计算了啊。

 冲突的问题,你得先理清你想做什么,不能矛盾的。

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2013/12/13 9:28:00 [只看该作者]

重置列是因为我经常改里面的东西 怕改了不重置列刷新不了里面的功能!
我要的功能就是在同一附表编号列的时候 不管添加多少行 在表A绑定表B数据的合格数量只又第一行有效 后面的都默认显示0,切重置列后还不会有什么改变,

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/13 9:37:00 [只看该作者]

你说一下,你的需求是什么,要实现什么样的效果.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望: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


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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2013/12/13 10:29:00 [只看该作者]

那个是个结账的系统, 但是入账只有一次,也就是第一次,所以第一行以后的行都是默认的0,结账有很多次,
我功能就是结账。
也不怕兄弟们笑,我把整个项目发给大家帮我看看
现在问题就是

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

密码123

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


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/13 10:32:00 [只看该作者]

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

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2013/12/13 11:53:00 [只看该作者]

谢谢兄弟 老问题解决了 但是新问题来一个,就是当我在附表编号列输入数据的时候 没有绑定到表B里面的数据,比如输入“1”理论上合格数量就应该自动导入绑定表B第二列的内容,就是“11”。
感谢兄弟雪中送炭啊  


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望: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


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