Foxtable(狐表)用户栏目专家坐堂 → [求助]统计


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

主题:[求助]统计

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
[求助]统计  发帖心情 Post By:2022/2/10 15:46:00 [只看该作者]

老师新年好
      下面中奖金额列不显示



Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("姓名", Gettype(String), 16)
dtb.AddDef("项目", Gettype(String), 16)
dtb.AddDef("购piao金额", Gettype(Integer))
dtb.AddDef("付款金额", Gettype(Integer))
dtb.AddDef("中奖金额", Gettype(Integer))



'dtb.AddDef("购piao金额", Gettype(Integer))
'dtb.AddDef("付款金额", Gettype(Double))
'dtb.AddDef("中奖金额", Gettype(Double))




dtb.Build()
Tables("打piao记录_Table1").DataSource = dtb.BuildDataSource()
For Each nm() As String In DataTables("打piao收付款记录").GetValues("姓名|项目")
    
    Dim dr As DataRow = DataTables("打piao记录_Table1").AddNew()
    'Dim dr As DataRow = DataTables("统计").AddNew()
    dr("姓名") = nm(0)
    dr("项目") = nm(1)
    'dr("") = nm(2)
    dr("购piao金额") = DataTables("打piao收付款记录").Compute("Sum(购piao金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")
    dr("付款金额") = DataTables("打piao收付款记录").Compute("Sum(付款金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")
   dr("中奖金额") = DataTables("打piao收付款记录").Compute("Sum(中奖金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")
Next

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


加好友 发短信
等级:超级版主 帖子:110443 积分:562081 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/10 15:52:00 [只看该作者]

不想显示中奖金额列?

Tables("打piao记录_Table1").DataSource = dtb.BuildDataSource()
Tables("打piao记录_Table1").cols("中奖金额").visible = false

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2022/2/10 16:03:00 [只看该作者]

不,我要显示中奖金额列,上面的代码不显示。

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


加好友 发短信
等级:超级版主 帖子:110443 积分:562081 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/10 16:09:00 [只看该作者]

没看到有隐藏列的代码,肯定是显示的。如果是指这个列没有统计值,应该是没有符合条件的数据

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2022/2/10 16:18:00 [只看该作者]

临时表是显示的窗口表不显示,这是全部代码。
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("姓名", Gettype(String), 16)
dtb.AddDef("项目", Gettype(String), 16)
dtb.AddDef("购piao金额", Gettype(Integer))
dtb.AddDef("付款金额", Gettype(Integer))
dtb.AddDef("中奖金额", Gettype(Integer))



'dtb.AddDef("购piao金额", Gettype(Integer))
'dtb.AddDef("付款金额", Gettype(Double))
'dtb.AddDef("中奖金额", Gettype(Double))




dtb.Build()
Tables("打piao记录_Table1").DataSource = dtb.BuildDataSource()
For Each nm() As String In DataTables("打piao收付款记录").GetValues("姓名|项目")
    
    Dim dr As DataRow = DataTables("打piao记录_Table1").AddNew()
    'Dim dr As DataRow = DataTables("统计").AddNew()
    dr("姓名") = nm(0)
    dr("项目") = nm(1)
    'dr("") = nm(2)
    dr("购piao金额") = DataTables("打piao收付款记录").Compute("Sum(购piao金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")
    dr("付款金额") = DataTables("打piao收付款记录").Compute("Sum(付款金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")
   dr("中奖金额") = DataTables("打piao收付款记录").Compute("Sum(中奖金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")
Next
'MainTable= Tables("统计")

With Tables(e.Form.Name & "_Table1")
    .EnterKeyActionDown = True
    .AutoSizeCols
    Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("复选1")
    dz_FilterCol.Items.Clear
    For Each C As Col In .Cols
        dz_FilterCol.Items.Add(C.Name)
    Next
    dz_FilterCol.Value = ""
End With



Tables("打piao记录_table1").SetColVisibleWidth ("姓名|260|项目|120|购piao金额|70|付款金额|100|中奖金额")
Tables("打piao记录_table1").DefaultRowHeight = 30
For Each c As Col In Tables("打piao记录_table1").Cols
    C.TextAlign  =TextAlignEnum.Center
Next
Tables("打piao记录_table1").grid.Styles("Normal").border.Color = Color.DodgerBlue
Tables("打piao记录_table1").Font = New Font("微软雅体",12,FontStyle.Regular)
Tables("打piao记录_table1").ListMode = True                     '整行突出


Tables("打piao记录_table1").Cols("购piao金额").GrandTotal = True '指定要合计的列
Tables("打piao记录_table1").Cols("中奖金额").GrandTotal = True '指定要合计的列
'Tables("订单").Cols("金额").GrandTotal = True
Tables("打piao记录_table1").GrandTotal = True '显示合计模式



Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
tab.SelectedIndex = 1
'msgbox(tab.tabpages(3).text)
e.form.controls("标签").text = e.form.controls("TabControl1").tabpages(1).text



e.Form.Controls("Panel2").TopMost= True
e.Form.Controls("Panel2").Visible= True
e.Form.Controls("Panel1").Visible= False

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


加好友 发短信
等级:超级版主 帖子:110443 积分:562081 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/10 16:19:00 [只看该作者]

Tables("打piao记录_table1").SetColVisibleWidth ("姓名|260|项目|120|购piao金额|70|付款金额|100|中奖金额|100")

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2022/2/10 17:00:00 [只看该作者]

谢谢老师

图片点击可在新窗口打开查看此主题相关图片如下:image 1.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:110443 积分:562081 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/10 17:04:00 [只看该作者]

方法1、到datacolchanged事件处理

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2022/2/10 18:26:00 [只看该作者]

以下是引用江南小镇在2022/2/10 17:00:00的发言:
谢谢老师

图片点击可在新窗口打开查看此主题相关图片如下:image 1.png
图片点击可在新窗口打开查看

老师,我要在统计的临时表中计算

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("姓名", Gettype(String), 16)
dtb.AddDef("项目", Gettype(String), 16)
dtb.AddDef("购piao金额", Gettype(Integer))
dtb.AddDef("付款金额", Gettype(Integer))
dtb.AddDef("中奖金额", Gettype(Integer))
dtb.AddDef("结欠金额", Gettype(Integer))

dtb.Build()
Tables("打piao记录_Table1").DataSource = dtb.BuildDataSource()
For Each nm() As String In DataTables("打piao收付款记录").GetValues("姓名|项目")
    
    Dim dr As DataRow = DataTables("打piao记录_Table1").AddNew()
    'Dim dr As DataRow = DataTables("统计").AddNew()
    dr("姓名") = nm(0)
    dr("项目") = nm(1)
    'dr("") = nm(2)
    dr("购piao金额") = DataTables("打piao收付款记录").Compute("Sum(购piao金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")
    dr("付款金额") = DataTables("打piao收付款记录").Compute("Sum(付款金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")
   dr("中奖金额") = DataTables("打piao收付款记录").Compute("Sum(中奖金额)","姓名 = '" & nm(0) & "' And [项目] = '" & nm(1) & "'")

Next
'MainTable= Tables("统计")

With Tables(e.Form.Name & "_Table1")
    .EnterKeyActionDown = True
    .AutoSizeCols
    Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("复选1")
    dz_FilterCol.Items.Clear
    For Each C As Col In .Cols
        dz_FilterCol.Items.Add(C.Name)
    Next
    dz_FilterCol.Value = ""
End With



Tables("打piao记录_table1").SetColVisibleWidth ("姓名|260|项目|120|购piao金额|70|付款金额|100|中奖金额|100|结欠金额|100")
Tables("打piao记录_table1").DefaultRowHeight = 30
For Each c As Col In Tables("打piao记录_table1").Cols
    C.TextAlign  =TextAlignEnum.Center
Next





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


加好友 发短信
等级:超级版主 帖子:110443 积分:562081 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/10 20:28:00 [只看该作者]

如果是指datacolchanged事件,参考:http://www.foxtable.com/webhelp/topics/1452.htm

Dim dr As DataRow = e.DataRow
Select
 Case e.DataCol.Name
    Case "
付款金额","......
        dr(
"总分") = dr("
购piao金额") - dr("付款金额") - .........
End
 
Select



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