Foxtable(狐表)用户栏目专家坐堂 → 可能可以label把显示为条形啊


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

主题:可能可以label把显示为条形啊

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


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

 代码,自己改动。学着自己看懂变通

 

Dim d1 As Date = e.Form.Controls("DateTimePicker1").Value
Dim filter1 As String = "1=1"

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 '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim dt As DataTable = DataTables("表A") '定义一个变量t引用数据表
Chart = e.Form.Controls("Chart2") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系

Dim qys As List(Of String) = dt.GetValues("区域", "区域 is not null")
Dim tjs As String() = {"销售额","货物成本","物流成本","其它成本","合计成本","利润"}
For Each qy As String In qys
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Text = qy '设置图系的标题
    Series.Length = qys.Count '设置图系的长度
    For r As Integer = 0 To tjs.length - 1
        Dim sum As Double = dt.Compute("sum(" & tjs(r) & ")", filter1 & " And 区域 = '" & qy & "'")
        Series.X(r) = r
        Series.Y(r) = sum
    Next
Next
msgbox(1)
For r As Integer = 0 To tjs.length - 1
    Chart.AxisX.SetValueLabel(r, tjs(r)) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列


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


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

 你把图标放在一个容器panel里面,然后设置允许滚动条,然后加入代码

 

e.Form.Controls("Chart2").Width += 100

e.Form.Controls("Chart2").Height += 100

[此贴子已经被作者于2014-7-29 15:56:35编辑过]

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


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

以下是引用yangwenghd在2014-7-31 12:04:00的发言:
可以单独设计一个窗口吗
点击按钮就的时候就单独弹出图表
感谢 感谢

 

做一个窗口,加入控件。点按钮打开窗口,代码不变。e.Form 改成 Forms("xxx")


 回到顶部