以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 关于图表中数据进行筛选显示的问题 求解! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68130)
|
-- 作者:李孝春
-- 发布时间:2015/5/10 22:11:00
-- 关于图表中数据进行筛选显示的问题 求解!
Dim t As Table = Tables("统计表1") \'定义一个变量t引用数据表 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形) Chart.DataSource = "统计表1" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.X.DataField = "产品" \'X轴绑定到产品列 Series.Y.DataField = "数量" \'Y轴绑定到数量列 Series.DataLabelText = "{#YVAL}"
以上代码是帮助中的实例代码
求修正实现如下效果:
1、只显示对应月份的数据,比如只显示当前时间对应的月份数据。
2、产品列 由于字数不一定固定,所以会存在大于15个字符的字,有没有办法让字换行显示。
3、补充1的问题,让数据只显示对应七天的数据
|
-- 作者:大红袍
-- 发布时间:2015/5/10 22:16:00
--
1、用编码的方式生成图表 http://www.foxtable.com/help/topics/0968.htm
2、你可以在生成的过程中检测有多少个字符,然后控制换行;
或者 http://www.foxtable.com/help/topics/1030.htm
3、设置筛选条件 http://www.foxtable.com/help/topics/2720.htm
|
-- 作者:李孝春
-- 发布时间:2015/5/10 22:30:00
-- 回复:(大红袍)1、用编码的方式生成图表 http://www...
1、已经用代码对应生成
2、采用名称咧角度变化 效果不美观
3、设置了筛选条件 但是不知道怎么结合代码整体实现
下面的代码就是实现筛选本周信息 然后会图表 求指导
Dim y As Integer = Date.Today.Year Dim w As Integer = Date.Today.DayOfWeek \'算出今天是星期几 Dim dt1 As Date = Date.Today.AddDays(-w) \'获取本周的第一天 Dim dt2 As Date = Date.Today.AddDays(6 - w) \'获取本周的最后一天 Dim Filter As String Filter = "接单日期 >= #" & dt1 & "# And 接单日期 <= #" & dt2 & "#" Tables("客户信息").Filter = Filter
Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("客户信息") \'定义一个变量t引用数据表 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形) Chart.DataSource = "客户信息" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.X.DataField = "客户姓名" \'X轴绑定到产品列 Series.Y.DataField = "合同总款" \'Y轴绑定到数量列 Series.DataLabelText = "{#YVAL}" & "{#XVAL}" Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度
红色部分怎么按照你的思路获取字符数然后换行呢 假设五个字后换行
|
-- 作者:大红袍
-- 发布时间:2015/5/10 22:33:00
--
1、看方法二;
2、在循环的过程中,判断内容的字符长度,然后处理是否换行;
3、看1;
|
-- 作者:李孝春
-- 发布时间:2015/5/10 23:00:00
-- 回复:(大红袍)1、看方法二;2、在循环的过程中...
2号问题还是没有得以解决 继续求助
当前运行效果如图
此主题相关图片如下:din635733289_1431270014626_738.jpg
|
-- 作者:大红袍
-- 发布时间:2015/5/10 23:20:00
--
处理长字符,参考代码
Dim s As String = "111113" Dim rn As Integer = 5 Dim ns As String = "" If s.Length > rn Then ns = s.SubString(0,rn) For i As Integer = 2 To Math.Ceiling(s.Length / rn) If i = Math.Ceiling(s.Length / rn) Then ns &= vbcrlf & s.SubString(rn*(i-1)) Else ns &= vbcrlf & s.SubString(rn*(i-1), rn) End If Next Else ns = s End If
msgbox(ns)
[此贴子已经被作者于2015/5/10 23:19:56编辑过]
|
-- 作者:李孝春
-- 发布时间:2015/5/10 23:32:00
-- 回复:(大红袍)处理长字符,参考代码 Dim ...
经过对比 对于图标里面的这个操作还是无法实现大于五个字符时候换行 一旦先行换行 然后再赋值的话 提示没有对应的值 继续求解!
由于第一次操作图表 没有实际经验 还望大红袍老师多多指导 再次谢谢
Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("客户信息") \'定义一个变量t引用数据表 Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.DataSource = "客户信息" \'设置绑定表 Chart.ChartType = ChartTypeEnum.Bar Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = t.Rows.Count \'设置图系的长度 For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = t.Rows(i)("合同总款") \'指定垂直坐标 Chart.AxisX.SetValueLabel(i, t.Rows(i)("客户姓名") )\'在位置4插入456) \'指定字符表示 Next Series.DataLabelText = "{#YVAL}元" Chart.AxisX.AnnoWithLabels = True \'启用字符标
Dim s1 As Row= Tables("客户信息").Current Dim s As String = s1("客户姓名") Dim rn As Integer = 5 Dim ns As String = "" If s.Length > rn Then ns = s.SubString(0,rn) For i As Integer = 2 To Math.Ceiling(s.Length / rn) If i = Math.Ceiling(s.Length / rn) Then ns &= vbcrlf & s.SubString(rn*(i-1)) Else ns &= vbcrlf & s.SubString(rn*(i-1), rn) End If Next Else ns = s End If
|
-- 作者:大红袍
-- 发布时间:2015/5/11 9:34:00
--
很湿望
Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("客户信息") \'定义一个变量t引用数据表 Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.DataSource = "客户信息" \'设置绑定表 Chart.ChartType = ChartTypeEnum.Bar Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = t.Rows.Count \'设置图系的长度 For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = t.Rows(i)("合同总款") \'指定垂直坐标 Dim s As String = t.Rows(i)("客户姓名") Dim rn As Integer = 5 Dim ns As String = "" If s.Length > rn Then ns = s.SubString(0,rn) For i As Integer = 2 To Math.Ceiling(s.Length / rn) If i = Math.Ceiling(s.Length / rn) Then ns &= vbcrlf & s.SubString(rn*(i-1)) Else ns &= vbcrlf & s.SubString(rn*(i-1), rn) End If Next Else ns = s End If Chart.AxisX.SetValueLabel(i, ns)\'在位置4插入456) \'指定字符表示 Next Series.DataLabelText = "{#YVAL}元" Chart.AxisX.AnnoWithLabels = True \'启用字符标
[此贴子已经被作者于2015/5/11 9:34:24编辑过]
|
-- 作者:李孝春
-- 发布时间:2015/5/11 9:56:00
-- 回复:(大红袍)很湿望 Dim Chart A...
谢谢
|