Foxtable(狐表)用户栏目专家坐堂 → 甘特图添加星期行


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

主题:甘特图添加星期行

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
甘特图添加星期行  发帖心情 Post By:2019/6/21 0:07:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190621000431.jpg
图片点击可在新窗口打开查看
老师 图表里面可以添加星期的行吗?感谢 感谢 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:甘特图.table



 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107747 积分:548074 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/21 8:51:00 [只看该作者]

具体需要什么效果?画图说明一下

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


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

参考

 

Dim tbl As Table = Tables("任务")
Tables("窗口1_Table2").StopRedraw()
Dim StartDate As Date = tbl.Compute("Min(开始日期)")
Dim EndDate As Date = tbl.Compute("Max(结束日期)")
Dim dt As Date = StartDate
Dim Builder As New DataTableBuilder("统计")
Do
    Dim nm As String = dt.Year & "年" &  dt.Month & "月_" & dt.Day & "_" & right(Format(dt, "dddd"), 1)
    Builder.Adddef(nm,Gettype(String),1)
    dt = dt.Adddays(1)
    If dt > Enddate Then
        Exit Do
    End If
Loop
Tables("窗口1_Table2").DataSource = Builder.BuildDataSource
For Each cl As Col In Tables("窗口1_Table2").Cols
    cl.width = 20
Next
Functions.Execute("AddGanttRows")
Tables("窗口1_Table2").ResumeRedraw()


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2019/6/21 23:43:00 [只看该作者]

谢谢老师 感谢 感谢 
现在能显示出来了 ,只是会运行错误,是不是这里也要改呀 
.NET Framework 版本:2.0.50727.9040
Foxtable 版本:2018.10.9.1
错误所在事件:计划表窗口_Table9,PositionChanged
详细错误信息:
从字符串“2017-9-8_五”到类型“Date”的转换无效。
Dim t As Table = Tables("计划表窗口_Table9")
Dim dt As Date = t.Cols(t.colsel).Name.Replace("年","-").Replace("月_","-")
'Dim dt As Date = t.Cols(t.colsel).Name.Replace("年","-").Replace("月_","-").Replace("周_","-")
Dim r As Row  = Tables("计划表窗口_Table4").Rows(t.Position)
Dim idx As Integer = Tables("记事表").findRow("事件日期=#" & dt & "# and 项目名称='" & r("项目名称") & "' and 项目流程='" & r("项目流程") & "'")
If idx >= 0 Then
    Tables("记事表").Position = idx
Else
    'msgbox(2)
End If

感谢 感谢 

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107747 积分:548074 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/22 9:16:00 [只看该作者]

Dim dt As Date = t.Cols(t.colsel).Name.Replace("年","-").Replace("月_","-").split("_")(0)

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2019/6/22 23:53:00 [只看该作者]

感谢 感谢 可以了 还有个小问题能帮忙看看吗?
If DrawGannt = False Then
    Functions.Execute("BuildGanttTable") '甘特图代码十二分之一
    Dim dt As Date = Date.Today.AddDays( -21 ) '进度条位置    这一条感觉没有被执行,
    Dim t = e.Form.controls("Table9").Table
     Dim name = dt.Year & "年" & dt.Month & "月_" & dt.Day &  "月_" & dt.Day & "_" & right(Format(dt, "dddd"), 1) '有星期天    是不是这里错了呀?
    'Dim name = dt.Year & "年" & dt.Month & "月_" & dt.Day & split("_")(0)
    If t.Cols.contains(name) Then
        t.Select(0,t.Cols.Count-1,0,t.Cols.Count-1)
        t.Select(0, t.cols(name).Index)
    End If
    
    For i As Integer = 0 To t.DataTable.basetable.rows.count-1
        Dim dr = t.DataTable.basetable.rows(i)
        Dim r As Row  = Tables("计划表窗口_Table4").Rows(i)
        Dim str As String = ""
        For Each fdr As DataRow In DataTables("记事表").Select("事件日期<=#" & Date.Today.AddDays(-30) & "# and 项目名称='" & r("项目名称") & "' and 项目流程='" & r("项目流程") & "' and 处理状态='未处理'")
            str &= fdr("事件日期") & ","
        Next
        dr.RowError = str.trim(",")
    Next
    DrawGannt = True
Else
    DrawGannt = False
End If
[此贴子已经被作者于2019/6/23 0:02:17编辑过]

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


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

 

1、具体实例发上来测试

 

2、Dim name = dt.Year & "年" & dt.Month & "月_" & dt.Day &  "_" & right(Format(dt, "dddd"), 1) '有星期天    是不是这里错了呀?

 

 


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2019/6/23 15:27:00 [只看该作者]


此主题相关图片如下:搜狗截图19年06月23日1526_2.jpg
按此在新窗口浏览图片
谢谢 现在图表没有问题。谢谢 然后就是我想用按钮吧图表的当天固定到表的位置,
If DrawGannt = False Then
    Functions.Execute("BuildGanttTable") '甘特图代码十二分之一
    Dim dt As Date = Date.Today.AddDays( -21 ) '进度条位置    这一条感觉没有被执行
    Dim t = e.Form.controls("Table9").Table
     Dim name = dt.Year & "年" & dt.Month & "月_" & dt.Day &  "月_" & dt.Day & "_" & right(Format(dt, "dddd"), 1) '有星期天
    'Dim name = dt.Year & "年" & dt.Month & "月_" & dt.Day & split("_")(0)
    If t.Cols.contains(name) Then
        t.Select(0,t.Cols.Count-1,0,t.Cols.Count-1)
        t.Select(0, t.cols(name).Index)
    End If
    
    For i As Integer = 0 To t.DataTable.basetable.rows.count-1
        Dim dr = t.DataTable.basetable.rows(i)
        Dim r As Row  = Tables("计划表窗口_Table4").Rows(i)
        Dim str As String = ""
        For Each fdr As DataRow In DataTables("记事表").Select("事件日期<=#" & Date.Today.AddDays(-30) & "# and 项目名称='" & r("项目名称") & "' and 项目流程='" & r("项目流程") & "' and 处理状态='未处理'")
            str &= fdr("事件日期") & ","
        Next
        dr.RowError = str.trim(",")
    Next
    DrawGannt = True
Else
    DrawGannt = False
End If


此主题相关图片如下:目前的位置.jpg
按此在新窗口浏览图片


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


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

Dim name = dt.Year & "年" & dt.Month & "月_" & dt.Day &  "_" & right(Format(dt, "dddd"), 1)

msgbox(name)


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2019/6/23 23:28:00 [只看该作者]

谢谢老师,可以了,感谢 谢谢你的帮助。
[此贴子已经被作者于2019/6/23 23:28:59编辑过]

 回到顶部