以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  图表中数据标示小数点位数控制  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78944)

--  作者:lgj716330
--  发布时间: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")

--  作者:大红袍
--  发布时间:2015/12/21 12:33:00
--  
生成chart的时候,赋值的时候,直接赋值为2位小数。
--  作者:lgj716330
--  发布时间: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" 

--  作者:大红袍
--  发布时间:2015/12/21 14:52:00
--  

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

 

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

 


--  作者:lgj716330
--  发布时间: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
图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间: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
--  发布时间:2015/12/21 16:48:00
--  
从字符串“采购单价”到类型“Integer”的转换无效。
--  作者:大红袍
--  发布时间: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
--  发布时间:2015/12/21 17:21:00
--  
嗯,我看出这里的问题了,改了后还是一样的,我再看看其他哪里还有问题
--  作者:lgj716330
--  发布时间:2015/12/21 17:42:00
--  
唉,搞不明白
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.foxdb