Foxtable(狐表)用户栏目专家坐堂 → 从表中数据生成甘特图,可以不?


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

主题:从表中数据生成甘特图,可以不?

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


加好友 发短信
等级:小狐 帖子:334 积分:2370 威望:0 精华:0 注册:2014/3/15 16:25:00
从表中数据生成甘特图,可以不?  发帖心情 Post By:2014/7/22 0:05:00 [只看该作者]

从表A中的数据生成甘特图,可以不?如何操作?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.foxdb



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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/22 8:44:00 [只看该作者]

没有结束时间的列要怎么处理?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/22 8:45:00 [只看该作者]

甘特图不难,参考帮助http://www.foxtable.com/help/topics/2032.htm

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


加好友 发短信
等级:小狐 帖子:334 积分:2370 威望:0 精华:0 注册:2014/3/15 16:25:00
  发帖心情 Post By:2014/7/22 22:55:00 [只看该作者]

有3个问题:
1、多个时间段可不可以?
2、时间段可以在数据表中提取可以不?
3、能不能自动生成多人任务栏?

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


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

1、一个任务,可以对应多个时段,例子里有体现了;

 

2、时间段可以从数据表中提取,关键是你获取到表数据,设置进去即可;

 

3、多人任务栏,是什么意思?


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


加好友 发短信
等级:小狐 帖子:334 积分:2370 威望:0 精华:0 注册:2014/3/15 16:25:00
  发帖心情 Post By:2014/7/22 23:09:00 [只看该作者]

打错了,根据表中列自动生成多个任务

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


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

以下是引用hjcslr在2014-7-22 23:09:00的发言:
打错了,根据表中列自动生成多个任务

 

你给的例子,哪些列作为任务,哪些列是时间段?怎么得到任务?


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


加好友 发短信
等级:小狐 帖子:334 积分:2370 威望:0 精华:0 注册:2014/3/15 16:25:00
  发帖心情 Post By:2014/7/22 23:18:00 [只看该作者]

药品为任务
开始时间和结束时间
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.foxdb



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


加好友 发短信
等级:小狐 帖子:334 积分:2370 威望:0 精华:0 注册:2014/3/15 16:25:00
  发帖心情 Post By:2014/7/23 0:11:00 [只看该作者]

用下列可以提取任务,但是开始时间和结束时间不对,不太明白错在那里

Dim Chart As WinForm.Chart
Chart= Forms("窗口1").Controls("Chart1")
Chart.ChartType = ChartTypeEnum.Gantt '图表类型为甘特图
Chart.Inverted = True '对调X轴和Y轴位置
Chart.AxisY.DateType= True 'Y轴为日期型
Chart.AxisY.AnnoFormatString = "MM-dd" '设置Y轴的标示格式
Chart.AxisY.MinDate = #01/01/2010# '设置Y轴的起始日期
Chart.AxisY.MaxDate = #04/30/2010# '设置Y轴的终止日期
Chart.AxisX.GridMajorVisible = False '隐藏X轴的网格线
Dim Customers As List(Of String)    '提取药品中不重复值
Customers = DataTables("表A").GetValues("药品") 
For Each Customer As String In Customers  '
'定义数组集合的时候,要在类型后加上括号,表示这是一个数组集合.
Dim Arys As List(Of String()) 
Arys = DataTables("表A").GetValues("开始时间|结束时间","药品 = '" & Customer & "'") '列名用符号|分割
'注意循环变量是字符型数组,所以类型是String(),而不是String
For Each Ary As String() In Arys
With Chart.SeriesList
 
    .AddGanttSeries(Customer,Ary(0),Ary(1))
    .AddGanttLabels("M月d日")

End With
Next
 Next

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


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

图片点击可在新窗口打开查看 汗......一开始看错了,以为要动态编译,后来发觉参数原来只是两个数组调用错了......

 

Dim Chart As WinForm.Chart
Chart= Forms("窗口1").Controls("Chart1")
Chart.ChartType = ChartTypeEnum.Gantt '图表类型为甘特图
Chart.Inverted = True '对调X轴和Y轴位置
Chart.AxisY.DateType= True 'Y轴为日期型
Chart.AxisY.AnnoFormatString = "MM-dd" '设置Y轴的标示格式
Chart.AxisY.MinDate =  DataTables("表A").Compute("min(开始时间)") '设置Y轴的起始日期
Chart.AxisY.MaxDate = DataTables("表A").Compute("max(结束时间)") '设置Y轴的终止日期
Chart.AxisX.GridMajorVisible = False '隐藏X轴的网格线
Dim Customers As List(Of String)    '提取药品中不重复值
Customers = DataTables("表A").GetValues("药品", "结束时间 is not null")
For Each Customer As String In Customers  '
    Dim drs As List(Of DataRow) = DataTables("表A").Select("药品 = '" & Customer & "' and 结束时间 is not null") '列名用符号|分割
   
    Dim dts1(drs.Count-1) As Datetime
    Dim dts2(drs.Count-1) As Datetime
   
    For i As Integer = 0 To drs.Count - 1
        Dim d1 As Date = drs(i)("开始时间")
        Dim d2 As Date = drs(i)("结束时间")
        Dim dt1 As Datetime = new Datetime(d1.Year, d1.Month, d1.Day, d1.Hour, d1.Minute, d1.Second)
        Dim dt2 As Datetime = new Datetime(d2.Year, d2.Month, d2.Day, d2.Hour, d2.Minute, d2.Second)
        dts1(i) = dt1
        dts2(i) = dt2
    Next
    With Chart.SeriesList       
        .AddGanttSeries(Customer,dts1,dts2)
        .AddGanttLabels("M月d日")      
    End With
Next


 回到顶部
总数 13 1 2 下一页