以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] SQLGroupTableBuilder (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138166) |
-- 作者:hotday1972 -- 发布时间:2019/7/24 11:28:00 -- [求助] SQLGroupTableBuilder 求助,SQLGroupTableBuilder生成查询表后,如何对DataTable排序?以下是代码,谢谢老师! Dim b As New SQLGroupTableBuilder("统计表_提案数","问题管理表") b.C b.Filter = "year(创建日期) = \'" & y & "\' And (状态 = \'生效\' or 状态 = \'批准\' or 状态 = \'退出\')" b.Groups.AddDef("创建人") b.Totals.AddDef("问题编号",AggregateEnum.Count,"记录数") \'根据不重复值列来统计记录数,也就是记录数 b.Build(False) DataTabe("统计表_提案数").LoadOrder = "记录数" \' DataTabe("统计表_提案数").Load() \'绘制柱状图 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.DataSource = "统计表_提案数" 红色代码没起作用
|
-- 作者:有点蓝 -- 发布时间:2019/7/24 11:36:00 -- Dim b As New SQLGroupTableBuilder("统计表_提案数","问题管理表") b.C b.Filter = "year(创建日期) = \'" & y & "\' And (状态 = \'生效\' or 状态 = \'批准\' or 状态 = \'退出\')" b.Groups.AddDef("创建人") b.Totals.AddDef("问题编号",AggregateEnum.Count,"记录数") \'根据不重复值列来统计记录数,也就是记录数 b.Build() Tabe("统计表_提案数").sort = "记录数" \'绘制柱状图
Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.DataSource = "统计表_提案数" |
-- 作者:hotday1972 -- 发布时间:2019/7/24 12:52:00 -- 老师,不行的,我想到了,也试了。 Chart引用的是datatable, 不是table Chart.DataSource = "统计表_提案数" |
-- 作者:有点蓝 -- 发布时间:2019/7/24 13:44:00 -- 我测试没有问题,上传实例说明 Dim g As New GroupTableBuilder("统计表1", DataTables("订单")) g.Groups.AddDef("产品") g.Totals.AddDef("数量") g.Build() MainTable = Tables("统计表1") Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.DataSource = "统计表1" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.X.DataField = "产品" \'X轴绑定到产品列 Series.Y.DataField = "数量" \'Y轴绑定到数量列 |
-- 作者:hotday1972 -- 发布时间:2019/7/24 14:15:00 -- 老师,我把这个按钮的代码都贴上来,老师帮我看看问题在哪里,谢谢! Dim y As String = e.Form.Controls("cbb_年度").Value \'对后台数据进行统计 Dim b As New SQLGroupTableBuilder("统计表_提案数","问题管理表") b.C b.Filter = "year(创建日期) = \'" & y & "\' And (状态 = \'生效\' or 状态 = \'批准\' or 状态 = \'退出\')" b.Groups.AddDef("创建人") b.Totals.AddDef("问题编号",AggregateEnum.Count,"记录数") \'根据不重复值列来统计记录数,也就是记录数 b.Build(False) MainTable = Tables("统计表_提案数") Tables("统计表_提案数").Sort = "记录数 DESC" \'绘制柱状图 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.DataSource = "统计表_提案数" Chart.SeriesList.Clear() \'清除图表原来的图系 Chart.VisualEffect = True Chart.AxisX.ClearValueLabel Chart.ChartType = ChartTypeEnum.Bar Chart.HeaderFont = New Font("微软雅黑",18,FontStyle.Bold) Chart.HeaderText = "提案数量排行榜 - " & y Chart.LegendCompass = CompassEnum.South \'图例的位置 Chart.LegendFont = New Font("微软雅黑",10,FontStyle.Bold) Chart.AxisX.AnnoRotation = 0 \'X轴标示逆时针旋转45度 Chart.AxisX.Font = New Font("微软雅黑",9,FontStyle.Bold) Chart.LegendVisible = True \'显示图列 Chart.AxisX.AnnoWithLabels = True \'启用字符标示 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Text = "提案人" Series.X.DataField = "创建人" \'X轴绑定到产品列 Series.Y.DataField = "记录数" \'Y轴绑定到数量列 e.Form.Controls("Chart1").TopMost = True 结果:见附件 |
-- 作者:hotday1972 -- 发布时间:2019/7/24 14:17:00 -- 图片呢? |
-- 作者:hotday1972 -- 发布时间:2019/7/24 14:19:00 -- |
-- 作者:hotday1972 -- 发布时间:2019/7/24 14:20:00 -- 我咋看不见图片,附件添加了啊! |
-- 作者:有点蓝 -- 发布时间:2019/7/24 14:38:00 -- 上传方法:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78 重复上传直到上传成功
|
-- 作者:有点蓝 -- 发布时间:2019/7/24 14:39:00 -- 代码看不出有什么问题,上传实例测试 |