Foxtable(狐表)用户栏目专家坐堂 → 窗口表事件,请教


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

主题:窗口表事件,请教

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


加好友 发短信
等级:五尾狐 帖子:1131 积分:8199 威望:0 精华:0 注册:2013/11/3 19:00:00
窗口表事件,请教  发帖心情 Post By:2020/3/16 13:05:00 [只看该作者]

'生成排班临时表'
Dim dtb As New DataTableBuilder("排班表")
dtb.AddDef("员工编码", Gettype(String))
dtb.AddDef("员工姓名", Gettype(String))
Dim c As Integer
For c = 1 To d
    dtb.AddDef(Format(c,"00"), Gettype(String))
Next
'---------生成临时表并绑定到窗口表
Tables("员工任务分配_Table2").DataSource= dtb.Build()
Tables("排班表").Visible = False
'开始增加日期和预分配方案到临时表里
With Tables("员工任务分配_Table2")
    .DataTable.DataRows.Clear
    '先设置默认列宽
    .DefaultColWidth = 45
    Dim dr As Row
    Dim PerDr As DataRow '查找员工姓名用的行
    For Index As Integer = 0 To PerList.Length - 1
        dr = .AddNew
        dr("员工编码")=PerList(Index)
        PerDr = dt.Find("员工编码='" & dr("员工编码") & "'")
        If PerDr IsNot Nothing Then
            dr("员工姓名") = PerDr("员工姓名")
        End If
        For Each dc As Col In .Cols
            If dc.Name<> "员工编码" AndAlso dc.Name<>"员工姓名" Then
                dr(dc.Name) = "通班"
                dc.ComboList =  DataTables("排班类型系数").SQLGetComboListString("排班类型")
            Else
                '将员工编码和员工姓名的列宽设大点
                dc.Width = 70
            End If
        Next
    Next
End With

老师请教,用以上代码生成了一个排班表,现在有个问题,生成表是可以用代码更改背景色和文字颜色,但
窗口表没有事件,使用者在更改排班类型后,单元格颜色如何动态改变呢?谢谢
另外,发现用dtb.Build()单元格才能有下拉,用dtb.BuildDataSource就没有
[此贴子已经被作者于2020/3/16 13:09:25编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1131 积分:8199 威望:0 精华:0 注册:2013/11/3 19:00:00
  发帖心情 Post By:2020/3/16 13:09:00 [只看该作者]

用的表是副本表

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


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

窗口表Table2设置为sqltable,到窗口表事件处理即可

dtb.Build()会有问题的,dtb.BuildDataSource肯定也可以设置下拉:http://www.foxtable.com/webhelp/topics/0578.htm

 回到顶部