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


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

主题:[求助]CrossTableBuilder

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/13 21:06:00 [显示全部帖子]

红色代码删除

 

'g.Build()
bxmx.Table.DataSource =g.BuildDataSource()

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/13 21:26:00 [显示全部帖子]

以下是引用blsu33在2018/12/13 21:16:00的发言:
老师  烦您您给看下 窗口1
[此贴子已经被作者于2018/12/13 21:16:33编辑过]

 

窗口1没问题,请说明如何测试,有什么问题?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/13 21:41:00 [显示全部帖子]

应该是bug

 

Dim bxmx As WinForm.Table = e.Form.Controls("Table1")
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sql As String = "Select * From {表A}"
cmd.CommandText = sql
dt = cmd.ExecuteReader()

Dim g As New CrossTableBuilder("统计表1",dt)
g.HGroups.AddDef("menuid")
g.HGroups.AddDef("findpnl")
g.VGroups.AddDef("amount")
g.Totals.AddDef("amount", "amount", True)
'g.OrderByTotal = True
'g.HorizontalTotal = True
'g.VerticalTotal = True
g.Subtotal = True
g.SubtotalLevel = 0 '只生成总计行
'g.Build()
bxmx.Table.DataSource =g.BuildDataSource()


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/13 23:08:00 [显示全部帖子]

1、8楼代码我测试没问题。

 

2、如果不想用sqlcommand,你可以用sqlcrosstablebuilder http://www.foxtable.com/webhelp/scr/1627.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/13 23:24:00 [显示全部帖子]

以下是引用blsu33在2018/12/13 23:17:00的发言:
关于根据 A表的当前行  B表自动重新 DiCrossTableBuilder   怎么设计

 

什么意思?设置条件是? "第一列 = '" & Tables("表A").current("第一列") & "'"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/14 15:54:00 [显示全部帖子]

改成

 

Dim bxmx As WinForm.Table = e.Form.Controls("Table1")
Dim g As New CrossTableBuilder("统计表1",DataTables("表A"))
g.HGroups.AddDef("numbers")
g.HGroups.AddDef("submiterid")
g.HGroups.AddDef("cheks")
g.VGroups.AddDef("contentname")
g.Totals.AddDef("amount", "amount")
g.OrderByTotal = True
'g.HorizontalTotal = True
'g.VerticalTotal = True
'g.Subtotal = True
g.SubtotalLevel = 0 '只生成总计行
'g.Build()
bxmx.Table.DataSource =g.BuildDataSource()


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/17 15:56:00 [显示全部帖子]

 

不可以。那你需要改成【汇总模式】

 

 


 回到顶部