Foxtable(狐表)用户栏目专家坐堂 → [求助]图表问题求助


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

主题:[求助]图表问题求助

帅哥哟,离线,有人找我吗?
堕落的后天
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:175 积分:1431 威望:0 精华:0 注册:2017/8/4 14:17:00
[求助]图表问题求助  发帖心情 Post By:2017/12/24 15:05:00 [只看该作者]

自己做甘特图类型的图表;

1.如何让X轴在表的顶部,而不是底部。

2.一个表里面有多个记录,但是都隶属于同一个人(字段:所属医生),如何让他在图表里面,重叠绘制,而不是一条条绘制.

谢谢版主

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


加好友 发短信
等级:幼狐 帖子:175 积分:1431 威望:0 精华:0 注册:2017/8/4 14:17:00
  发帖心情 Post By:2017/12/24 15:28:00 [只看该作者]

第一个问题解决了

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


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

以下是引用堕落的后天在2017/12/24 15:05:00的发言:
 

2.一个表里面有多个记录,但是都隶属于同一个人(字段:所属医生),如何让他在图表里面,重叠绘制,而不是一条条绘制.
 

 

select查找此人的所有数据,然后把【开始时间】添加到一个集合,把【结束时间】添加到另一个即可,最后给甘特图赋值不就好了?

 

贴出你写的代码或者上传实例。


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


加好友 发短信
等级:幼狐 帖子:175 积分:1431 威望:0 精华:0 注册:2017/8/4 14:17:00
  发帖心情 Post By:2017/12/24 21:50:00 [只看该作者]

Dim Chart As WinForm.Chart


Dim Series As WinForm.ChartSeries '定义一个图系变量


Chart= Forms("总览").Controls("Chart1")
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.ChartType = ChartTypeEnum.Gantt '图表类型为甘特图
Chart.AxisY.Reversed = True '翻转Y轴
Chart.AxisX.Compass= CompassEnum.North 'X轴位置设为北方(上方)

Chart.AxisY.DateType= True 'Y轴为日期型
Chart.AxisY.AnnoFormatString = "hh:mm" '设置Y轴的标示格式
Chart.AxisY.MinDate = #8:00# '设置Y轴的起始日期
Chart.AxisY.MaxDate = #20:00# '设置Y轴的终止日期
Chart.AxisX.GridMajorVisible = False '隐藏X轴的网格线

 
For Each drs As DataRow In DataTables("预约表").Select(filter)
     Dim xm As String = drs("所属医生")
    Dim x As Date = drs("开始时间")
    Dim y As Date = drs("结束时间")
    




    With Chart.SeriesList
        .AddGanttSeries(""& xm &"",""& x &"" ,""& y &" ")
        .AddGanttLabels("h:m")



    End With


   
    
    
Next

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


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


For Each xm As String In DataTables("预约表").GetValues("所属医生", filter)
    Dim xs As new List(Of Date)
    Dim ys As new List(Of Date)
    For Each drs As DataRow In DataTables("预约表").Select(filter & " and 所属医生 = '" & xm & "'")
        Dim x As Date = drs("开始时间")
        Dim y As Date = drs("结束时间")
        xs.add(x)
        ys.add(y)
    Next
    With Chart.SeriesList
        .AddGanttSeries(xm, xs.ToArray, ys.ToArray)
        .AddGanttLabels("h:m")
    End With
next

 回到顶部