Foxtable(狐表)用户栏目专家坐堂 → 柱状图从两边开始生成


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

主题:柱状图从两边开始生成

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


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

代码,用代码说话。不能使用绑定

 回到顶部
美女呀,离线,留言给我吧!
susu312
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/9/15 10:58:00 [只看该作者]

以下是引用有点蓝在2018/9/15 10:46:00的发言:
代码,用代码说话。不能使用绑定

''图表1
'生成各单位人数临时表
Dim b As New GroupTableBuilder("统计表1",DataTables("person"))
Dim t As DataTable
b.Groups.AddDef("organName","单位")
b.Totals.AddDef("organName",AggregateEnum.Count,"人数")
'b1.FromServer = True
t=b.Build() '生成统计表


''增加标记列
t.DataCols.Add("标记", Gettype(String)) ''增加标记列
For Each r As DataRow In t.DataRows  ''对于表中的每一行
        r("单位")=r("单位").Replace(" ","")
        Dim dr2  As  DataRow
        dr2 =  DataTables("organList").Find("[organName] = '" & r("单位") & "'" ) '否则在单位表查找同名的单位行,将找到的行赋值给变量dr
        If dr2 IsNot Nothing Then  '如果找到了同名的单位行,也就是dr不是Nothing
              r("标记")= dr2("fuZhu")
        End If
Next
Tables("统计表1").Sort="标记"
'
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = t.DataRows.Count '设置图系的长度
For i As Integer = 0 To t.DataRows.Count - 1 '指定每个数据点的位置
    Series.X(i) = i '指定水平坐标
    Series.Y(i) = t.DataRows(i)("人数") '指定垂直坐标
    Chart.AxisX.SetValueLabel(i, t.DataRows(i)("单位")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示

''图表效果设置
Series.DataLabelText = "{#YVAL}"
Chart.BarClusterWidth = 20
Chart.AxisX.AnnoRotation = - 20 'X轴标示逆时针旋转45度
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.HeaderText=_UserOrgan & "辖区各单位离退休干部总人数统计图"
Chart.HeaderFont=fnt

 

老师,我搞定了

[此贴子已经被作者于2018/9/15 11:06:10编辑过]

 回到顶部
总数 12 上一页 1 2