以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  甘特图添加星期行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=136756)

--  作者:yangwenghd
--  发布时间:2019/6/21 0:07:00
--  甘特图添加星期行

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



--  作者:有点蓝
--  发布时间:2019/6/21 8:51:00
--  
具体需要什么效果?画图说明一下
--  作者:有点甜
--  发布时间: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
--  发布时间: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

感谢 感谢 

--  作者:有点蓝
--  发布时间:2019/6/22 9:16:00
--  
Dim dt As Date = t.Cols(t.colsel).Name.Replace("年","-").Replace("月_","-").split("_")(0)
--  作者:yangwenghd
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间:2019/6/23 11:31:00
--  

 

1、具体实例发上来测试

 

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

 

 


--  作者:yangwenghd
--  发布时间: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
按此在新窗口浏览图片


--  作者:有点甜
--  发布时间:2019/6/23 16:47:00
--  

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

msgbox(name)


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