'生成排班临时表'
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编辑过]