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


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

主题:[求助]图表问题

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/8 15:02:00 [显示全部帖子]

'-----------------------生成库存图表-------------------------------
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("资材信息表") '定义一个变量t引用数据表
Chart = e.Form.Controls("库存统计") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
dim ps() as string = t.datatable.getvalues("备件分类",t.filter)
Series.Length = ps.length '设置图系的长度
For
 i As integer = 0 to ps.length - 1 '指定每个数据点的位置
    Series.X(i) = i 
'指定水平坐标
    Series.Y(i) = 
t.datatable.compute("sum(数量)",IIF(t.filter > "",t.filter & " and ","") & "
备件分类 = '" & ps(i) & "'"'指定垂直坐标
    Chart.AxisX.SetValueLabel(i, ps(i)'指定字符表示
Next
Chart.AxisX.AnnoWithLabels = 
True '启用字符标示
[此贴子已经被作者于2023/11/8 15:02:41编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/8 15:32:00 [显示全部帖子]

dim ps() as string = t.datatable.getvalues("备件分类",t.filter)
Series.Length = ps.length '设置图系的长度
For
 i As integer = 0 to ps.length - 1 '指定每个数据点的位置

改为
dim ps as List(of string) = t.datatable.getvalues("备件分类",t.filter)
Series.Length = ps.count '设置图系的长度
For
 i As integer = 0 to ps.count  - 1 '指定每个数据点的位置

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/8 15:58:00 [显示全部帖子]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/8 16:39:00 [显示全部帖子]

Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
MessageBox.Show(1)
Dim ps As List(Of String) = t.DataTable.getvalues("备件分类", t.filter)
MessageBox.Show(2)
Series = Chart.SeriesList.Add()
Series.Length = ps.count '设置图系的长度
MessageBox.Show(3)
For i As Integer = 0 To ps.count - 1 '指定每个数据点的位置
    Series.X(i) = i '指定水平坐标
    Series.Y(i) = t.DataTable.compute("sum(金额)", IIf(t.filter > "", t.filter & " and ", "") & "备件分类 = '" & ps(i) & "'") '指定垂直坐标
    Chart.AxisX.SetValueLabel(i, ps(i)) '指定字符表示
Next
MessageBox.Show(4)
Chart.AxisX.AnnoWithLabels = True '启用字符标示

 回到顶部