Foxtable(狐表)用户栏目专家坐堂 → 记录窗口能自动生成图表(饼图)


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

主题:记录窗口能自动生成图表(饼图)

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


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


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


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

以下是引用沪上游客在2017/7/31 9:38:00的发言:
老师能不能帮我写一下代码,我不知道记录窗口表的列名?实在不好意思!谢谢!

 

记录窗口的数据,是表格的当前行的数据。

 

Dim r As Row = Tables("表A").Current

msgbox(r("第一列"))

 

不会做,请上传实例说明。


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


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

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


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


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

以下是引用沪上游客在2017/8/3 11:11:00的发言:
谢谢老师,你的项目我打不开,是不是你的Foxtable的版本比我高的原因?这几天我正在升级。
再次感谢!

 

升级到最新版foxtable即可。

 

或者看代码

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文本文档.txt


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


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

请看懂代码,自行修改

 

If e.Table.Current Is Nothing Then Return

If Forms("图表饼图").opened Then
    Dim Chart As WinForm.Chart '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Chart= Forms("图表饼图").Controls("Chart1") ' 引用窗口中的图表
    Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
    Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
    Chart.SeriesList.Clear
    Dim cr As Row = Tables("表A").current
    Dim sum As Double = cr("合同价款") + cr("合同增补数")
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = "合同价款:" & cr("合同价款") & "元" '设置图系的标题
    Series.Y(0) = cr("合同价款") '指定值
    Series.DataLabelText = "合同价款:" & cr("合同价款") & "元" & vbcrlf & format(cr("合同价款")/sum, "0.00%") '计算百分比
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = "合同增补数:" & cr("合同增补数") & "元" '设置图系的标题
    Series.Y(0) = cr("合同增补数") '指定值
    Series.DataLabelText = "合同增补数:" & cr("合同增补数") & "元" & vbcrlf &  format(cr("合同增补数")/sum, "0.00%") '计算百分比
   
    Dim bchart = chart.BaseControl
    bchart.backcolor = color.Transparent
    bchart.style.border.color = color.Transparent


    Chart= Forms("图表饼图").Controls("Chart2") ' 引用窗口中的图表
    Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
    Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
    Chart.SeriesList.Clear
    cr = Tables("表A").current
    sum = cr("开piao数") + cr("未开piao数")
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = "开piao数:" & cr("开piao数") & "元" '设置图系的标题
    Series.Y(0) = cr("开piao数") '指定值
    Series.DataLabelText = "开piao数:" & cr("开piao数") & "元" & vbcrlf & format(cr("开piao数")/sum, "0.00%") '计算百分比
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = "未开piao数:" & cr("未开piao数") & "元" '设置图系的标题
    Series.Y(0) = cr("未开piao数") '指定值
    Series.DataLabelText = "未开piao数:" & cr("未开piao数") & "元" & vbcrlf &  format(cr("未开piao数")/sum, "0.00%") '计算百分比
   
    bchart = chart.BaseControl
    bchart.backcolor = color.Transparent
    bchart.style.border.color = color.Transparent

End If


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


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

引线,参考

 

If e.Table.Current Is Nothing Then Return

If Forms("图表饼图").opened Then
    Dim Chart As WinForm.Chart '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Chart= Forms("图表饼图").Controls("Chart1") ' 引用窗口中的图表
    Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
    Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
    Chart.SeriesList.Clear
    Dim cr As Row = Tables("表A").current
    Dim sum As Double = cr("合同价款") + cr("合同增补数")
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = "合同价款:" & cr("合同价款") & "元" '设置图系的标题
    Series.Y(0) = cr("合同价款") '指定值
   
    Dim bchart = chart.BaseControl
    bchart.backcolor = color.Transparent
    bchart.style.border.color = color.Transparent
    Dim lbls = bChart.ChartLabels
    Dim lbl As C1.Win.C1Chart.Label
   
    lbls.LabelsCollection.clear
    lbl = lbls.LabelsCollection.AddNewLabel()
    lbl.Text = "合同价款:" & cr("合同价款") & "元" & vbcrlf & format(cr("合同价款")/sum, "0.00%")
   
    lbl.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
    lbl.AttachMethodData.GroupIndex = 0
    lbl.AttachMethodData.SeriesIndex = 0
    lbl.AttachMethodData.PointIndex = 0
    lbl.Style.ForeColor = Color.Red
    lbl.Compass = LabelCompassEnum.auto
    lbl.Connected = True
    lbl.Offset = 10
    lbl.Visible = True
   
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = "合同增补数:" & cr("合同增补数") & "元" '设置图系的标题
    Series.Y(0) = cr("合同增补数") '指定值
   
    lbl = lbls.LabelsCollection.AddNewLabel()
    lbl.Text =  "合同增补数:" & cr("合同增补数") & "元" & vbcrlf &  format(cr("合同增补数")/sum, "0.00%") '计算百分比
   
    lbl.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
    lbl.AttachMethodData.GroupIndex = 0
    lbl.AttachMethodData.SeriesIndex = 1
    lbl.AttachMethodData.PointIndex = 0
    lbl.Style.ForeColor = Color.yellow
    lbl.Compass = LabelCompassEnum.auto
    lbl.Connected = True
    lbl.Offset = 10
    lbl.Visible = True
   
   
   
   
    Chart= Forms("图表饼图").Controls("Chart2") ' 引用窗口中的图表
    Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
    Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
    Chart.SeriesList.Clear
    cr = Tables("表A").current
    sum = cr("开piao数") + cr("未开piao数")
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = "开piao数:" & cr("开piao数") & "元" '设置图系的标题
    Series.Y(0) = cr("开piao数") '指定值
    Series.DataLabelText = "开piao数:" & cr("开piao数") & "元" & vbcrlf & format(cr("开piao数")/sum, "0.00%") '计算百分比
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = "未开piao数:" & cr("未开piao数") & "元" '设置图系的标题
    Series.Y(0) = cr("未开piao数") '指定值
    Series.DataLabelText = "未开piao数:" & cr("未开piao数") & "元" & vbcrlf &  format(cr("未开piao数")/sum, "0.00%") '计算百分比
   
    bchart = chart.BaseControl
    bchart.backcolor = color.Transparent
    bchart.style.border.color = color.Transparent
   
End If


 回到顶部