Foxtable(狐表)用户栏目专家坐堂 → 在下面代码中如何使库存的累计也为36,而不是累计为222呢?


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

主题:在下面代码中如何使库存的累计也为36,而不是累计为222呢?

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
在下面代码中如何使库存的累计也为36,而不是累计为222呢?  发帖心情 Post By:2011/6/9 10:11:00 [只看该作者]

在下面代码中如何使库存的累计也为36,而不是累计为222呢?  发帖心情 Post By:2011-6-9 10:04:00 [只看该作者]

 

 

在下面代码中如何使库存的累计也为36,而不是软件生成的库存累计为222呢?

 

Dim t As Table = Tables("例子二")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "日期"
g.TotalOn = "入库,出库,库存"
g.Caption = "{0}月 小计"
g.DateGroup = DateGroupEnum.Month
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "日期"
g.TotalOn = "入库,出库,库存"
g.Caption = "{0}月 累计"
g.DateGroup = DateGroupEnum.Month
t.SubtotalGroups.Add(g)

With CurrentTable
   .Rows(.Rows.count,True)("库存") = .Rows(.Rows.count,True)("入库")-.Rows(.Rows.count,True)("出库")
End With



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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
  发帖心情 Post By:2011/6/9 10:12:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:20110609-截图 3.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/9 10:15:00 [只看该作者]

Dim t As Table = Tables("例子二")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "日期"
g.TotalOn = "入库,出库,库存"
g.Caption = "{0}月 小计"
g.DateGroup = DateGroupEnum.Month
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "日期"
g.TotalOn = "入库,出库,库存"
g.Caption = "{0}月 累计"
g.DateGroup = DateGroupEnum.Month
t.SubtotalGroups.Add(g)
t.Subtotal

For i As Integer = 0 To CurrentTable.Rows.Count(True) - 1
    Dim r As Row = CurrentTable.Rows(i,True)
    If r.IsGroup
        r("库存") = r("入库")- r("出库")
    End If
Next


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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
  发帖心情 Post By:2011/6/9 10:22:00 [只看该作者]

ok了,谢谢

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


加好友 发短信
等级:婴狐 帖子:24 积分:227 威望:0 精华:0 注册:2011/5/10 19:05:00
  发帖心情 Post By:2011/6/9 12:23:00 [只看该作者]

我们可以在DataColChanging事件中设置代码,使得不管通过任何方式修改列的内容,都不能输入重复值,例如希望订单号列不能输入重复值:

If e.DataCol.Name = "第一列" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("第一列 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        MessageBox.Show("此第一列已经存在!")
        e.Cancel = True
    End If
End If

怎么我用了还是能输入重复值吗?那里有错


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/9 12:28:00 [只看该作者]

做个例子传上来看看。


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


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

If e.DataCol.Name = "第一列"Then
    Dim drs As List(Of DataRow) = DataTables("表名").Select("[第一列] = '" & e.DataRow("第一列") & "'")
    If drs.Count - 1 > 0 Then
        MessageBox.Show("该单位数据已经存在不能添加!")
        e.datarow("第一列")=nothing
    End If
End If

 回到顶部