Foxtable(狐表)用户栏目专家坐堂 → 圆饼图表生成


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

主题:圆饼图表生成

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


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

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim t As Table = Tables("表A")
Dim sm As Integer = t.Compute("Sum(第二列)") '计算总数量
For Each s As String In t.DataTable.GetValues("第一列", "第一列 is not null")
    Dim sum = t.DataTable.compute("sum(第二列)", "第一列='" & s & "'")
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = s & "(" & sum & ")" '设置图系的标题
    Series.Y(0) = sum
   
    Series.TooltipText = Series.Text & " : {#YVAL}" '显示数据
    Series.DataLabelText = Math.Round(sum*100/sm,2) & "%" '计算百分比
   
Next

Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)


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


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

哎,用了foxtable那么久,你没有一点点进步过

 

Series.TooltipText = s & " : {#YVAL}" '显示数据


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


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

For Each s As String In t.DataTable.GetValues("支出类型", "支出类型 is not null")
    Dim sum = t.DataTable.compute("sum(支出金额)", "支出类型='" & s & "'")

 

改成

 

Dim d As Date = new Date(Date.Today.Year, Date.Today.Month, 1)

For Each s As String In t.DataTable.GetValues("支出类型", "支出类型 is not null and 支出日期 >= #" & d & "# and 支出日期 < #" & d.AddMonths(1) & "#")
    Dim sum = t.DataTable.compute("sum(支出金额)", "支出类型='" & s & "' and 支出日期 >= #" & d & "# and 支出日期 < #" & d.AddMonths(1) & "#")

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


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

上传具体实例测试你说的问题。

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


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

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart=e.form.Controls("Chart1") ' 引用窗口中的图表

Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim nms1() As String = {"经营汇总","支出汇总"}
Dim nms2() As String = {"变动金额", "支出金额"}
Dim nms3() As String = {"经营日期", "支持日期"}
Dim nms4() As String = {"经营项目", "支出项目"}

For i As Integer = 0 To nms1.Length - 1
    Dim d As Date = new Date(Date.Today.Year, Date.Today.Month, 1)
    For Each s As String In DataTables(nms1(i)).GetValues(nms4(i), nms4(i) & " Is not null And " & nms3(i) & " >= #" & d & "# and " & nms3(i) & " < #" & d.AddMonths(1) & "#")
        Dim sum As Double = DataTables(nms1(i)).compute("sum(" & nms2(i) & ")", nms4(i) & "='" & s & "' and " & nms3(i) & " >= #" & d & "# and " & nms3(i) & " < #" & d.AddMonths(1) & "#")
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = 1 '一个系列只能包括一个值
        Series.Text = s & "(" & sum & ")" '设置图系的标题
        Series.Y(0) = sum
        Series.TooltipText = s & " : {#YVAL}" '显示数据
        Series.DataLabelText = sum
    Next
Next
Chart.LegendVisible = True '显示图列


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


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

 

[此贴子已经被作者于2018/9/17 10:07:27编辑过]

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


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

测试了一下,做不到你需要的功能,设置颜色可以。

 

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart=e.form.Controls("Chart1") ' 引用窗口中的图表

Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim nms1() As String = {"经营汇总","支出汇总"}
Dim nms2() As String = {"变动金额", "支出金额"}
Dim nms3() As String = {"经营日期", "支持日期"}
Dim nms4() As String = {"经营项目", "支出项目"}
Dim cls() = {Color.red, Color.blue}

For i As Integer = 0 To nms1.Length - 1
    Dim d As Date = new Date(Date.Today.Year, Date.Today.Month, 1)
    For Each s As String In DataTables(nms1(i)).GetValues(nms4(i), nms4(i) & " Is not null And " & nms3(i) & " >= #" & d & "# and " & nms3(i) & " < #" & d.AddMonths(1) & "#")
        Dim sum As Double = DataTables(nms1(i)).compute("sum(" & nms2(i) & ")", nms4(i) & "='" & s & "' and " & nms3(i) & " >= #" & d & "# and " & nms3(i) & " < #" & d.AddMonths(1) & "#")
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = 1 '一个系列只能包括一个值
        Series.Text = s & "(" & sum & ")" '设置图系的标题
        Series.Y(0) = sum
        Series.TooltipText = s & " : {#YVAL}" '显示数据
        Series.DataLabelText = sum
        Series.FillColor = cls(i)
    Next
Next
Chart.LegendVisible = True '显示图列


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


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

 

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart=e.form.Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim nms1() As String = {"经营汇总","支出汇总"}
Dim nms2() As String = {"变动金额","支出金额"}
Dim nms3() As String = {"经营日期","支持日期"}
Dim nms4() As String = {"经营项目","支出项目"}
Dim cls() = {Color.red, Color.blue}
    Dim d As Date = new Date(Date.Today.Year, Date.Today.Month, 1)
For i As Integer = 0 To nms1.Length - 1
    For Each s As String In DataTables(nms1(i)).GetValues(nms4(i), nms4(i) & " Is not null And " & nms3(i) & " >= #" & d & "# and " & nms3(i) & " < #" & d.AddMonths(1) & "#")
        Dim sum As Double = DataTables(nms1(i)).compute("sum(" & nms2(i) & ")", nms4(i) & "='" & s & "' and " & nms3(i) & " >= #" & d & "# and " & nms3(i) & " < #" & d.AddMonths(1) & "#")
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = 1 '一个系列只能包括一个值
        Series.Text = s & "(" & sum & ")" '设置图系的标题
        Series.Y(0) = sum
        Series.TooltipText = s & " : {#YVAL}" '显示数据
        Series.DataLabelText = sum
        Series.FillColor = cls(i)
    Next
Next
For Each s As String In DataTables("负载汇总").GetValues("欠款名称",  "欠款名称 Is not null And 欠款日期 >= #" & d & "# and 欠款日期 < #" & d.AddMonths(1) & "#")
    Dim dr As DataRow = DataTables("负载汇总").Find("欠款名称 ='" & s & "' And 欠款日期 >= #" & d & "# and 欠款日期 < #" & d.AddMonths(1) & "#","欠款日期 desc")
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = s & "(" & dr("欠款金额") & ")" '设置图系的标题
    Series.Y(0) = dr("欠款金额")
    Series.TooltipText = s & " : {#YVAL}" '显示数据
    Series.DataLabelText = dr("欠款金额")
    'Series.FillColor = cls(i)
Next


Chart.LegendVisible = True '显示图列


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