以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口表事件,请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147412) |
-- 作者:zhy400137 -- 发布时间: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 -- 发布时间:2020/3/16 13:09:00 -- 用的表是副本表 |
-- 作者:有点蓝 -- 发布时间:2020/3/16 13:43:00 -- 窗口表Table2设置为sqltable,到窗口表事件处理即可 dtb.Build()会有问题的,dtb.BuildDataSource肯定也可以设置下拉:http://www.foxtable.com/webhelp/topics/0578.htm
|