以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  饼图设置起点位置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=196123)

--  作者:漂亮美眉vszh
--  发布时间:2025/3/31 10:35:00
--  饼图设置起点位置
老师,我现在是无排程排在第一位,无排程的话12点的位置,能实现吗?
图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看

--  作者:漂亮美眉vszh
--  发布时间:2025/3/31 10:35:00
--  
即无排程从12点这个位置处,设置为起点,开始向右走饼图
--  作者:有点蓝
--  发布时间:2025/3/31 10:52:00
--  
代码呢?
--  作者:漂亮美眉vszh
--  发布时间:2025/3/31 11:18:00
--  
    Dim Chart As WinForm.Chart \'定义一个图表变量
    Dim Series As WinForm.ChartSeries \'定义一个图系变量
    Chart= e.Form.Controls("Chart1")
    Chart.SeriesList.Clear() \'清除图表原来的图系


        Chart.ChartType = ChartTypeEnum.Pie

    Dim zts() As String = {"已完成(延期)","已完成(如期)","进行中(延期)","进行中(将延)","进行中(如期)","无排程"}
    
    Dim dr As DataRow
    For ri As Integer = 5 To 0 Step - 1   \' In drs
        dr =  DataTables(e.Form.name & "_Table1").find("事项状态 = \'" & zts(ri) & "\'")
        If dr IsNot Nothing Then
  
                Series = Chart.SeriesList.Add() \'增加一个图系
                Series.Text = zts(ri)  \'设置图系的标题
                Series.Length = 1  \' t.Rows.Count \'设置图系的长度
                
                Series.X(0) = ri  \'指定水平坐标
                Series.Y(0) = DataTables(e.Form.name & "_Table1").Compute("count(事项状态)","事项状态 = \'" & zts(ri) & "\'")

                If zts(ri) = "进行中(延期)" Then
                    Chart.SeriesList(ri).FillColor = Color.FromARGB(255,160,155)
                ElseIf zts(ri) = "已完成(延期)" Then
                    Chart.SeriesList(ri).FillColor = Color.FromARGB(252,184,240)
                ElseIf zts(ri) = "进行中(将延)" Then
                    Chart.SeriesList(ri).FillColor = Color.FromARGB(255,255,153)
                ElseIf zts(ri) = "进行中(如期)"
                    Chart.SeriesList(ri).FillColor = Color.FromARGB(204,255,204)
                ElseIf zts(ri) = "已完成(如期)" Then
                    Chart.SeriesList(ri).FillColor = Color.FromARGB(176,241,143)
                ElseIf zts(ri) = "无排程" Then
                    Chart.SeriesList(ri).FillColor = Color.Gray
                End If
                Chart.BarClusterWidth = 80
                Chart.AxisX.AnnoWithLabels = True \'启用字符标示
                Chart.AxisX.AnnoRotation = - 45
                Series.DataLabelText = "{#YVAL}"

        End If
    Next
    Chart.LegendVisible = True
    Chart.LegendCompass= CompassEnum.South



--  作者:有点蓝
--  发布时间:2025/3/31 11:26:00
--  
试了一下,做不了,Foxtable图表没有发现有指定位置的用法
[此贴子已经被作者于2025/3/31 11:26:03编辑过]