Foxtable(狐表)用户栏目专家坐堂 → 列累加


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

主题:列累加

帅哥哟,离线,有人找我吗?
布莱克朱
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2011/12/18 10:00:00 [只看该作者]

你发个例子,测试一下,这样怎么帮你.

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/12/18 10:15:00 [只看该作者]

师傅你好:是铁盘组装表,要求在同一个日期、同一个组长、同一个班次,对应加工数进行累加,这三个条件只要改娈一项,再开始累加,也就是间隔性累加,谢谢!

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2011/12/18 10:44:00 [只看该作者]

你自己重置一下组长或者班次列试试看,不是计算吗,你再看看你AfterMoveRow事件,一个日期的变量写法改一下,另外一个重置列不应该是应加工数,因为应加工数没有设置触动列的.

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/12/18 11:02:00 [只看该作者]

师傅你好:我是一个初学者,编程方面的基础比较薄弱,只能边使用边学习,眼前还是需要师傅把要改语句写出来,在此表示万分的感谢。

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/12/18 14:00:00 [只看该作者]

师傅你好:为什么输入几行后都要列重置,本班合计数才能显示数据,是不是代码有误,请师傅帮助调整一下,谢谢!

1、Datacolchaned:

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("组长") & "'And 班次 ='" & mr("班次") & "' And 日期 = # " & mr("日期") & "#", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("本班合计") = mr("应加工数")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [组长] = '" & dr("组长") & "'And 班次 ='" & dr("班次") & "' And 日期 = # " & dr("日期") & "#", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("本班合计") = drs(i-1)("本班合计") + 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 & "'And 班次 ='" & e.OldValue & "' And 日期 = # " & e.OldValue & "#", "[_SortKey] Desc")
            If dr Is Nothing Then
                dr = e.DataTable.Find("[组长] = '" & e.OldValue & "' And 班次 ='" & e.OldValue & "' And 日期 = # " & e.OldValue & "#", "[_SortKey]")
                If dr IsNot Nothing Then
                    dr("本班合计") = dr("应加工数")
                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [组长] = '" & dr("组长") & "'And 班次 ='" & dr("班次") & "' And 日期 = # " & dr("日期") & "#", "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("本班合计") = drs(i-1)("本班合计") + drs(i)("应加工数")
                Next
            End If
        End If
End Select

2、AftarMoveRoW:

Dim Key As Decimal
Dim Index As Integer
Dim Filter As String
Dim r As Row
Index = Math.Min(e.OldIndex, e.NewIndex)
Key = e.Table.Rows(Index)("_SortKey")
r = e.Table.Rows(e.NewIndex)
Filter = "[_SortKey] >= " & Key & " And [日期] = '" & r("日期") & " And [组长] = '" & r("组长") & " And [班次] = '" & r("班次") & "'"
e.Table.DataTable.DataCols("应加工数").RaiseDataColChanged(Filter)

3、DataRowdELeting:

e.DataRow("应加工数") = 0


 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2011/12/18 16:20:00 [只看该作者]

按道理不用重置的,新增一行,输入数据就应该可以的.

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/12/18 16:44:00 [只看该作者]

师傅你好:

是的,新增一行,应加工数输入数据后,本班合计列是0,重置列后,数字显示,不知是什么原因。谢谢!


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/12/19 9:07:00 [只看该作者]

各位师傅你们好:

在狐表与易表之间,同样一个问题,狐表代码这么长,还达不到预期效果,而易表只用了短短的公式就实现了(易表公式:SumFor(GridName,"应加工数","日期", "=" ,[日期],"带班组长", "=" ,[带班组长],"班次", "=" ,[班次],1,Row)),这就明显的对比。


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/12/19 15:43:00 [只看该作者]

各位师傅好:

对于列累加,25楼代码需要重置列后显示本班合计列累加数,能不能直接显示,不要重置,请高手帮忙,谢谢!


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/12/19 16:07:00 [只看该作者]

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

 

新增一行,应加工数加入数字试试


 回到顶部
总数 30 上一页 1 2 3