以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]图表问题求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111543) |
-- 作者:堕落的后天 -- 发布时间:2017/12/24 15:05:00 -- [求助]图表问题求助 自己做甘特图类型的图表; 1.如何让X轴在表的顶部,而不是底部。 2.一个表里面有多个记录,但是都隶属于同一个人(字段:所属医生),如何让他在图表里面,重叠绘制,而不是一条条绘制. 谢谢版主
|
-- 作者:堕落的后天 -- 发布时间:2017/12/24 15:28:00 -- 第一个问题解决了 |
-- 作者:有点甜 -- 发布时间:2017/12/24 20:41:00 -- 以下是引用堕落的后天在2017/12/24 15:05:00的发言:
2.一个表里面有多个记录,但是都隶属于同一个人(字段:所属医生),如何让他在图表里面,重叠绘制,而不是一条条绘制.
select查找此人的所有数据,然后把【开始时间】添加到一个集合,把【结束时间】添加到另一个即可,最后给甘特图赋值不就好了?
贴出你写的代码或者上传实例。 |
-- 作者:堕落的后天 -- 发布时间: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
|
-- 作者:有点甜 -- 发布时间: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 |