Foxtable(狐表)用户栏目专家坐堂 → 图表中数据标示小数点位数控制


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

主题:图表中数据标示小数点位数控制

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


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
图表中数据标示小数点位数控制  发帖心情 Post By:2015/12/21 12:22:00 [只看该作者]

通过动态增加表达式,其计算结果通过设置小数点格式,在统计表中可以,为什么在图表中不行呢

图片点击可在新窗口打开查看此主题相关图片如下:44.png
图片点击可在新窗口打开查看

Dim b As New SQLgroupTableBuilder("采购业务分析", "采购业务")
b.Groups.AddDef("所属单位")
b.Groups.Adddef("产品年份")
b.Groups.AddExp("年份季节","[产品年份] & [产品季节]")
b.Totals.AddDef("采购数量") 
b.Totals.AddDef("采购金额") 
b.GrandProportion = True
b.SamePeriodGrowth = True
b.Decimals = 2 '小数点取2位
b.Filter = Filter
b.Build()



Dim t As Table = Tables("采购业务分析") 
DataTables("采购业务分析").dataCols.add("采购单价", Gettype(Double))
t.DataTable.DataCols("采购单价").SetFormat("0.0")

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/21 12:33:00 [只看该作者]

生成chart的时候,赋值的时候,直接赋值为2位小数。

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


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/21 13:10:00 [只看该作者]

不知道如何在图表中直接赋值呢

Dim Chart As WinForm.Chart 
Dim Series As WinForm.ChartSeries 
Dim t1 As Table = Tables("采购业务分析") 
Chart = e.Form.Controls("采购") 
Chart.VisualEffect = True 
Chart.ChartType = ChartTypeEnum.Bar 
Chart.ChartType2 = ChartTypeEnum.XYPlot 
Chart.DataSource = "采购业务分析" 
Chart.SeriesList.Clear() 
chart.AxisX.ClearValueLabel
chart.AxisY.ClearValueLabel
Series = Chart.SeriesList.Add() 
Series.Text = "采购单价"
Series.X.DataField = "年份季节" 
Series.Y.DataField = "采购单价" 
Chart.SeriesList2.Clear() 
Series = Chart.SeriesList2.Add() 
Series.Text = "采购占比"
Series.X.DataField = "年份季节" 
Series.Y.DataField = "采购数量gdr" 

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/21 14:52:00 [只看该作者]

不要用绑定的方式,直接赋值。

 

http://www.foxtable.com/help/topics/0967.htm

 


 回到顶部
帅哥,在线噢!
lgj716330
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/21 15:59:00 [只看该作者]

采用直接赋值,总是提示下图中错误

Dim b As New SQLgroupTableBuilder("采购业务分析", "采购业务")
b.Groups.AddDef("所属单位")
b.Groups.Adddef("产品年份")
b.Groups.AddExp("年份季节","[产品年份] & [产品季节]")
b.Totals.AddDef("采购数量") 
b.Totals.AddDef("采购金额") 
b.GrandProportion = True
b.SamePeriodGrowth = True
b.Decimals = 2 '小数点取0位
b.Build()



Dim t As Table = Tables("采购业务分析") 
DataTables("采购业务分析").dataCols.add("采购单价", Gettype(Double))
t.DataTable.DataCols("采购单价").SetFormat("0.0")
Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r("采购数量") = 0 Or r("采购数量") Is Nothing Then
        r("采购单价") = 0
    Else
        r("采购单价") = r("采购金额")/r("采购数量")
    End If
Next

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t1 As Table = Tables("采购业务分析") '定义一个变量t引用数据表
Chart= e.Form.Controls("采购") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表1类型该为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = t1.Rows.Count '图系的数据点数等于表的行数
For i As Integer = 0 To t1.Rows.Count - 1 '指定每个数据点的位置
    Series.X(i) = t1.Rows(i)("年份季节") '指定水平坐标
    Series.Y(i) = t1.Rows(i)("采购单价") '指定垂直坐标
Next


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/21 16:24:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t1 As Table = Tables("采购业务分析") '定义一个变量t引用数据表
Chart = e.Form.Controls("采购") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表1类型该为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = t1.Rows.Count '图系的数据点数等于表的行数
For i As Integer = 0 To t1.Rows.Count - 1 '指定每个数据点的位置
    Series.X(i) = i '指定水平坐标
    Series.Y(i) = Format(t1.Rows("采购单价"), "0.00") '指定垂直坐标
    Chart.AxisX.SetValueLabel(i, t1.Rows(i)("年份季节")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示


 回到顶部
帅哥,在线噢!
lgj716330
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/21 16:48:00 [只看该作者]

从字符串“采购单价”到类型“Integer”的转换无效。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/21 17:16:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t1 As Table = Tables("采购业务分析") '定义一个变量t引用数据表
Chart = e.Form.Controls("采购") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表1类型该为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = t1.Rows.Count '图系的数据点数等于表的行数
For i As Integer = 0 To t1.Rows.Count - 1 '指定每个数据点的位置
    Series.X(i) = i '指定水平坐标
    Series.Y(i) = Format(t1.Rows(i)("采购单价"), "0.00") '指定垂直坐标
    Chart.AxisX.SetValueLabel(i, t1.Rows(i)("年份季节")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示


 回到顶部
帅哥,在线噢!
lgj716330
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/21 17:21:00 [只看该作者]

嗯,我看出这里的问题了,改了后还是一样的,我再看看其他哪里还有问题

 回到顶部
帅哥,在线噢!
lgj716330
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2015/12/21 17:42:00 [只看该作者]

唉,搞不明白
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.foxdb



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