Foxtable(狐表)用户栏目专家坐堂 → 星期天显示为英语


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

主题:星期天显示为英语

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


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

感谢 
老师 这样是对的吗?就把年月改为红色的那种。
Dim tbl As Table = Tables("计划表窗口_Table4")
Tables("计划表窗口_Table9").StopRedraw()
Dim s1 As Date = tbl.Compute("Min(计划_开始日期)")
Dim s2 As Date = tbl.Compute("min(进行_开始日期)")
Dim e1 As Date = tbl.Compute("max(计划_完成日期)")
Dim e2 As Date = tbl.Compute("Max(进行_完成日期)")
Dim StartDate As Date = iif(s1<s2, s1, s2)
Dim EndDate As Date = iif(e1>e2, e1, e2)
Dim dt As Date = StartDate
Dim Builder As New DataTableBuilder("统计")
Do
     Dim nm As String = dt.ToString(Globalization.CultureInfo("en-us") "MMMM", new System.) & "_" & left(dt.DayOfWeek.ToString(), 3) '星期天为英语缩写
     'Dim nm As String = dt.Year & "year" &  dt.Month & "month_" & dt.Day & "_" & left(dt.DayOfWeek.ToString(), 3) '星期天为英语缩写
    Builder.Adddef(nm,Gettype(String),1)
    dt = dt.Adddays(1)
    If dt > Enddate Then
        Exit Do
    End If
Loop
Tables("计划表窗口_Table9").DataSource = Builder.BuildDataSource
For Each cl As Col In Tables("计划表窗口_Table9").Cols
图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图19年09月03日1101_1.jpg
图片点击可在新窗口打开查看
    cl.width = 60
    'cl.Height = 60
Next
Functions.Execute("AddGanttRows")
Tables("计划表窗口_Table9").ResumeRedraw() '甘特图代码十二分之一


[此贴子已经被作者于2019/9/3 11:15:21编辑过]

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


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

Dim nm As String = dt.ToString("MMMM", new System.Globalization.CultureInfo("en-us")) & dt.year & "_" & left(dt.DayOfWeek.ToString(), 3) 

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


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

感谢老师 
现在点击按钮,是不是后是的也需要改成现在蓝色的呀。
.NET Framework 版本:2.0.50727.8825
Foxtable 版本:2018.10.9.1
错误所在事件:自定义函数BuildGanttTable
详细错误信息:
调用的目标发生了异常。
名为“September2017_Fri”的列已属于此 DataTable。
If DrawGannt AndAlso e.Row.Index >= 0 AndAlso e.Row.Index < Tables("计划表窗口_Table4").Rows.count Then
    Dim r As Row  = Tables("计划表窗口_Table4").Rows(e.Row.Index)
    Dim dt As Date = e.Col.Name.Replace("year","-").Replace("month_","-").split("_")(0)
    'Dim nm As String = dt.ToString("MMMM", new System.Globalization.CultureInfo("en-us")) & dt.year & "_" & left(dt.DayOfWeek.ToString(), 3) 

    If r.IsNull("计划_开始日期") OrElse r.IsNull("计划_完成日期") Then
    Else
        
        Dim dt1 As Date = r("计划_开始日期")
        Dim dt2 As Date = r("计划_完成日期")
        If dt>=dt1 AndAlso dt<=dt2 Then
            e.StartDraw()
            If dt < Date.Today Then
                e.Graphics.FillRectangle(Brushes.Cyan,e.x ,e.y + 1, e.Width, e.Height - 5)
            Else
                e.Graphics.FillRectangle(Brushes.Cyan,e.x ,e.y + 1, e.Width, e.Height - 5)
            End If
            e.EndDraw()
        End If
    End If
    
    If r.IsNull("进行_开始日期")=False Then
        Dim dt3 As Date = r("进行_开始日期")
        Dim dt4 As Date = iif(r.Isnull("进行_完成日期"), Date.Today, r("进行_完成日期"))
        If dt>=dt3 AndAlso dt<=dt4 Then
            e.Graphics.FillRectangle(Brushes.Blue,e.x ,e.y + 4, e.Width, e.Height - 11)
        End If
    End If
    Dim fdr As DataRow = DataTables("记事表").find("事件日期=#" & dt & "# and 项目名称='" & r("项目名称") & "' and 项目流程='" & r("项目流程") & "' and 处理状态='未处理'")
    If fdr IsNot Nothing Then
        'e.Graphics.FillRectangle(Brushes.Red,e.x ,e.y, e.Width, e.Height) '方形
        e.Graphics.FillPie(Brushes.Red,e.x ,e.y, e.Width, e.height,0,360) '原形
    End If
End If

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


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

生成表格的时候同时设置列名和标题

DataTableBuilder类型有一个AddDef方法,用于定义新增列的属性,可以一次性的指定新增列的名称、类型、标题、长度、表达式,AddDef的语法有六种,非常灵活:

AddDef(Name, Type)
AddDef(Name, Type, Expression)
AddDef(Name, Type, Expression,Caption)
AddDef(Name, Type, MaxLength)
AddDef(Name, Type, MaxLength,Expression)
AddDef(Name, Type, MaxLength,Expression,Caption) 

Name:        字符型,指定列的名称
Type:        Type类型,指定列的类型,用GetType函数获得指定的类型,例如:GetType(String),表示字符型
MaxLength:   整数型,指定字符列的长度
Expression: 字符型,指定计算表达式
Caption:     字符型,指定列标题



Dim nm As String = dt.ToString(Globalization.CultureInfo("en-us") "MMMM", new System.) & "_" & left(dt.DayOfWeek.ToString(), 3) '星期天为英语缩写
Builder.Adddef(format(dt,"yyyy-MM-dd"),Gettype(String),1,nm)

然后代码还是使用列名进行处理

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


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

老师 这个没有看到那里错了呀,
图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图19年09月03日1348_2.jpg
图片点击可在新窗口打开查看

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


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

我是复制11楼的代码的,没注意看,自己改为12楼的用法

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


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

谢谢老师,我试试了,还是不行,我晚上在学习学习,,感谢了,

 回到顶部
总数 17 上一页 1 2