Foxtable(狐表)用户栏目专家坐堂 → label怎么做走势图啊!


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

主题:label怎么做走势图啊!

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2014/8/4 14:39:00 [只看该作者]

感谢 可以了!谢谢你
我可以设置为当鼠标放到图表条状或者线条的时候 就在鼠标处显示数据吗?移开鼠标就没有了!
感谢 感谢 
[此贴子已经被作者于2014-8-4 15:07:24编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/4 15:59:00 [只看该作者]


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2014/8/4 16:38:00 [只看该作者]

好的  感谢 !
这个我去搞定!感谢 
只是有个大问题之前被我高错了 
不好意思啊 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图表分析.table


图片点击可在新窗口打开查看此主题相关图片如下:显示方式.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/4 16:43:00 [只看该作者]

Dim d1 As Date = e.Form.Controls("DateTimePicker1").Value
Dim filter1 As String
If e.Form.Controls("RadioButton1").Checked Then
    Dim w As Integer = d1.DayOfWeek '算出今天是星期几
    Dim dt1 As Date = d1.AddDays(-w) '获取本周的第一天
    Dim dt2 As Date = d1.AddDays(6 - w) '获取本周的最后一天
    filter1 = "回款日期 >= #" & dt1 & "# and 回款日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton2").Checked Then
    Dim y As Integer = d1.Year
    Dim m As Integer = d1.Month
    Dim dt1 As New Date(y, m, 1)
    Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
    filter1 = "回款日期 >= #" & dt1 & "# and 回款日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton3").Checked Then
    Dim y As Integer = d1.Year
    Dim dt1 As New Date(y, 1, 1)
    Dim dt2 As New Date(y, 12, 31)
    filter1 = "回款日期 >= #" & dt1 & "# and 回款日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton5").Checked Then
    Dim y As Integer = d1.Year
    Dim q As Integer = (d1.Month - 1) \ 3 + 1 '计算现在是第几个季度
    Dim dt1 As New Date(y, 3 * (q - 1) + 1, 1) '获取本季度的第一天
    Dim dt2 As New Date(y, 3 * q, Date.DaysInMonth(y,3 * q)) '获取本季度的最后一天
    Filter1 = "回款日期 >= #" & dt1 & "# And 回款日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton4").Checked Then
    filter1 = "1=1"
End If

Dim Chart As WinForm.Chart = e.Form.Controls("Chart3") ' 引用窗口中的图表
Dim series As winform.ChartSeries
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Dim tp As DateGroupEnum = 0
For i As Integer = 111 To 115
    Dim c As WinForm.RadioButton= e.Form.Controls("RadioButton" & i)
    If c.Checked Then
        Select Case c.Text
            Case "年"
                tp = DateGroupEnum.Year
            Case "季度"
                tp = DateGroupEnum.Quarter
            Case "月"
                tp = DateGroupEnum.month
            Case "周"
                tp = DateGroupEnum.Week
            Case "天"
                tp = DateGroupEnum.day
        End Select
       
        Exit For
       
    End If
Next
Dim g As New GroupTableBuilder("统计表1", DataTables("表A"))
g.Groups.AddDef("回款日期", tp, "日期")
g.Totals.AddDef("销售额")
g.Totals.AddDef("货物成本")
g.Totals.AddDef("物流成本")
g.Totals.AddDef("其它成本")
g.Totals.AddDef("合计成本")
g.Totals.AddDef("利润")
g.Filter = filter1
g.Build()

Dim t As Table = Tables("统计表1")
t.Sort = "日期"
For i As Integer = 111 To 116
    Dim c As WinForm.CheckBox = e.Form.Controls("CheckBox" & i)
    If c.Checked Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = t.Rows.Count
        Series.Text = c.Text
        For r As Integer = 0 To t.Rows.Count - 1
            Series.X(r) = r
            Series.Y(r) = t.Rows(r)(c.Text)
        Next
    End If
Next

For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("日期")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2014/8/4 16:50:00 [只看该作者]

在这样的 我说得不清楚!比如上面选择一年  下面选择天,图表就是选择这一年 每天的数据  图表就显示365个数据
如果选择上面选择一年,下面选择一周,就显示这一年的数据 只是按照周数显示
如果上面选择全部,下面选择月,就显示全部的内容,按月显示 ,麻烦你了! 太难了! 感谢 感谢 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/4 17:14:00 [只看该作者]

 

Dim d1 As Date = e.Form.Controls("DateTimePicker1").Value
Dim filter1 As String
If e.Form.Controls("RadioButton1").Checked Then
    Dim w As Integer = d1.DayOfWeek '算出今天是星期几
    Dim dt1 As Date = d1.AddDays(-w) '获取本周的第一天
    Dim dt2 As Date = d1.AddDays(6 - w) '获取本周的最后一天
    filter1 = "回款日期 >= #" & dt1 & "# and 回款日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton2").Checked Then
    Dim y As Integer = d1.Year
    Dim m As Integer = d1.Month
    Dim dt1 As New Date(y, m, 1)
    Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
    filter1 = "回款日期 >= #" & dt1 & "# and 回款日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton3").Checked Then
    Dim y As Integer = d1.Year
    Dim dt1 As New Date(y, 1, 1)
    Dim dt2 As New Date(y, 12, 31)
    filter1 = "回款日期 >= #" & dt1 & "# and 回款日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton5").Checked Then
    Dim y As Integer = d1.Year
    Dim q As Integer = (d1.Month - 1) \ 3 + 1 '计算现在是第几个季度
    Dim dt1 As New Date(y, 3 * (q - 1) + 1, 1) '获取本季度的第一天
    Dim dt2 As New Date(y, 3 * q, Date.DaysInMonth(y,3 * q)) '获取本季度的最后一天
    Filter1 = "回款日期 >= #" & dt1 & "# And 回款日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton4").Checked Then
    filter1 = "1=1"
End If

Dim Chart As WinForm.Chart = e.Form.Controls("Chart3") ' 引用窗口中的图表
Dim series As winform.ChartSeries
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Dim tp As DateGroupEnum = 0
For i As Integer = 111 To 115
    Dim c As WinForm.RadioButton= e.Form.Controls("RadioButton" & i)
    If c.Checked Then
        Select Case c.Text
            Case "年"
                tp = DateGroupEnum.Year
            Case "季度"
                tp = DateGroupEnum.Quarter
            Case "月"
                tp = DateGroupEnum.month
            Case "周"
                tp = DateGroupEnum.Week
            Case "天"
                tp = DateGroupEnum.None
        End Select
       
        Exit For
       
    End If
Next
Dim g As New GroupTableBuilder("统计表1", DataTables("表A"))
g.Groups.AddDef("回款日期", tp, "日期")
g.Totals.AddDef("销售额")
g.Totals.AddDef("货物成本")
g.Totals.AddDef("物流成本")
g.Totals.AddDef("其它成本")
g.Totals.AddDef("合计成本")
g.Totals.AddDef("利润")
g.Filter = filter1
g.Build()

Dim t As Table = Tables("统计表1")
t.Sort = "日期"
For i As Integer = 111 To 116
    Dim c As WinForm.CheckBox = e.Form.Controls("CheckBox" & i)
    If c.Checked Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = t.Rows.Count
        Series.Text = c.Text
        For r As Integer = 0 To t.Rows.Count - 1
            Series.X(r) = r
            Series.Y(r) = t.Rows(r)(c.Text)
        Next
    End If
Next

For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("日期")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2014/8/6 12:53:00 [只看该作者]

如果设置显示数据一个写在那个事件里面啊!

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = 10 '新增图系包括10个数据点
Series.TooltipText = "X = {#XVAL}, Y = {#YVAL}"
For i As Integer = 0 To 9 '指定每个数据点的位置
    Series.X(i) = i '指定水平坐标
    Series.Y(i) = i + Rand.Next(5) '垂直坐标用随机数生成
Next

 X 和Y 等于定义的 c 和g吗?谢谢


Dim Chart As WinForm.Chart = e.Form.Controls("Chart3") ' 引用窗口中的图表
Dim series As winform.ChartSeries
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Dim tp As DateGroupEnum = 0
For i As Integer = 111 To 115
    Dim c As WinForm.RadioButton= e.Form.Controls("RadioButton" & i)
    If c.Checked Then
        Select Case c.Text
            Case "年"
                tp = DateGroupEnum.Year
            Case "季度"
                tp = DateGroupEnum.Quarter
            Case "月"
                tp = DateGroupEnum.month
            Case "周"
                tp = DateGroupEnum.Week
            Case "天"
                tp = DateGroupEnum.None
        End Select
        
        Exit For
        
    End If
Next
Dim g As New GroupTableBuilder("统计表1", DataTables("表A"))
g.Groups.AddDef("回款日期", tp, "日期")
g.Totals.AddDef("销售额")
g.Totals.AddDef("货物成本")
g.Totals.AddDef("物流成本")
g.Totals.AddDef("其它成本")
g.Totals.AddDef("合计成本")
g.Totals.AddDef("利润")
g.Filter = filter1
g.Build()
Dim t As Table = Tables("统计表1")
t.Sort = "日期"
For i As Integer = 111 To 116
    Dim c As WinForm.CheckBox = e.Form.Controls("CheckBox" & i)
    If c.Checked Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = t.Rows.Count
        Series.Text = c.Text
        For r As Integer = 0 To t.Rows.Count - 1
            Series.X(r) = r
            Series.Y(r) = t.Rows(r)(c.Text)
        Next
    End If
Next
谢谢 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/6 14:33:00 [只看该作者]

 直接写,不能单独写啊。

 

 Series.TooltipText = "X = {#XVAL}, Y = {#YVAL}"


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2014/8/6 15:02:00 [只看该作者]

感谢!
要把后面的代码联在一起吗? 都写在图表的事件里面哈!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/6 15:05:00 [只看该作者]

For i As Integer = 111 To 116
    Dim c As WinForm.CheckBox = e.Form.Controls("CheckBox" & i)
    If c.Checked Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = t.Rows.Count
        Series.TooltipText = "X = {#XVAL}, Y = {#YVAL}"
        Series.Text = c.Text
        For r As Integer = 0 To t.Rows.Count - 1
            Series.X(r) = r
            Series.Y(r) = t.Rows(r)(c.Text)
        Next
    End If
Next

 回到顶部
总数 93 上一页 1 2 3 4 5 6 7 8 9 10 下一页