以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎么更人性化的取值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41026) |
||||
-- 作者:yangwenghd -- 发布时间:2013/10/9 15:17:00 -- 怎么更人性化的取值
此主题相关图片如下:qq截图20131009151533.png 事件代码:Select Case e.DataCol.Name Case "附表编号列","合格数量","结账数量" Dim drs As List(of DataRow) Dim Filter As String Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [附表编号列] = \'" & e.DataRow("附表编号列") & "\'" drs = e.DataTable.Select(Filter) For Each dr As DataRow In drs Filter = "[_SortKey] <= " & dr("_SortKey") & " And [附表编号列] = \'" & dr("附表编号列") & "\'" Dim Val1 As Double = e.DataTable.Compute("Sum(合格数量)",Filter) Dim Val2 As Double = e.DataTable.Compute("Sum(结账数量)",Filter) dr("未结数量") = Val1 - Val2 Next If e.DataCol.Name = "附表编号列" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [附表编号列] = \'" & e.OldValue & "\'" drs = e.DataTable.Select(Filter) For Each dr As DataRow In drs Filter = "[_SortKey] <= " & dr("_SortKey") & " And [附表编号列] = \'" & dr("附表编号列") & "\'" Dim Val1 As Double = e.DataTable.Compute("Sum(合格数量)",Filter) Dim Val2 As Double = e.DataTable.Compute("Sum(结账数量)",Filter) dr("未结数量") = Val1 - Val2 Next End If End Select For Each r As Row In Tables("表A").Rows If r("未结数量") = r("合格数量") Then r("结账情况")="未结账" ElseIf r("未结数量") < r("合格数量") And r("未结数量")>0 Then r("结账情况")="结账中" ElseIf r("未结数量")=0 r("结账情况")="已结账" End If Next 但是这个功能只能在第一排实现 有没办法拍都实现 未结数量在不同阶段时 结账情况就跟着发生变化 [此贴子已经被作者于2013-10-9 15:33:31编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/10/9 15:18:00 -- 大哥,你这个问题也太抽象了吧. 有具体的问题,才有具体的解答呀. |
||||
-- 作者:yangwenghd -- 发布时间:2013/10/9 15:23:00 -- 不好意思 兄弟 又是你在帮我!感谢感谢 ! |
||||
-- 作者:Bin -- 发布时间:2013/10/9 15:34:00 -- 半天没理清楚你想做什么,你看看是否符合你要求吧 |
||||
-- 作者:yangwenghd -- 发布时间:2013/10/9 15:51:00 -- 感谢兄弟! 是这样的 我语言交流不是很好 感谢你很赖心! 发的那个文件相信你也看了,他的功能是个流水账 合格数量-结帐数量=未结数量 后面还有一个设置就是 当未接数量=合格数量,结账情况显示 未结账 当未接数量小于合格数量切等于0 结账情况显示 结账中 当未接数量=0的时候显示 已结账 但是这个功能只能在第一行体现 后面的几行就失去了这个功能 我想怎么让后面的几行也有这个功能 兄弟 谢谢你怎么赖心 我的QQ294068455 如果不方便我也可以加你 感谢不进
[此贴子已经被作者于2013-10-9 15:55:49编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/10/9 16:01:00 -- 你在你原来的基础下,加上我这个代码吧,就OK了. |
||||
-- 作者:yangwenghd -- 发布时间:2013/10/9 16:14:00 -- 感谢 座等哦 兄弟 |
||||
-- 作者:lsy -- 发布时间:2013/10/9 16:16:00 -- 楼主的流水账,应该参照区分产品的流水账 照葫芦画瓢,不需要自己发挥。 然后参照Bin的代码。 |
||||
-- 作者:yangwenghd -- 发布时间:2013/10/9 16:21:00 -- 对 流水账 但是二排的结账情况为什么不是和第一排的一样呢? 兄弟 帮看看 |
||||
-- 作者:有点甜 -- 发布时间:2013/10/9 20:26:00 -- 流水账代码,在加上下面的代码就行了。 Dim max As Double = DataTables("表A").Compute("max(合格数量)", "附表编号列=\'" & e.DataRow("附表编号列") & "\'") For Each r As DataRow In DataTables("表A").Select("附表编号列=\'" & e.DataRow("附表编号列") & "\'") If r("未结数量")=0 Then r("结账情况")="已结账" ElseIf r("未结数量") < max AndAlso r("未结数量")> 0 Then r("结账情况")="结账中" ElseIf r("未结数量") = max Then r("结账情况")="未结账" End If Next |