设置显示列
在默认情况下,窗口控件Table会显示所有的列。
有三种方法可以设置显示部分列,以及显示列的顺序及宽度。
1、使用表视图
如果是Normal类型的Table,不管是副本还是非副本,都可以使用原表的表视图。
例如可以在窗口的AfterLoad事件中加入下面的代码:
Tables("窗口1_Table1").OpenView("精简")
这样打开窗口后,Table控件将自动调用绑定表的名为"精简"的表视图。
2、运行时调整
如果没有定义表视图,或者因为是SQLTable或者SQLQuery型Table,不能使用表视图的话,则可以使用SetColVisibleWidth方法。
例如:
Tables(
"窗口1_Table1").SetColVisibleWidth("日期|90|产品|120|客户|120|数量|60")执行上述代码后,订单表将按顺序显示日期、产品、客户、数量四列,宽度分别为90、120、120、60,而其余各列将被隐藏。
SetColVisibleWidth对所有类型的Table都有效,相对于表视图来说更为灵活。
3、同步显示列
假定窗口1的Table1绑定到订单表,作为副本;希望窗口打开后,此副本Table和原订单表的列顺序和列宽保持一致,为此可在窗口的AfterLoad事件中设置代码:
Tables("窗口1_Table1").SetColVisibleWidth(Tables("订单").GetColVisibleWidth())
4、设计时指定
在窗口设计的时候,Table控件有一个名为“显示列”的属性,可以一次性地设置要显示的列及其列宽:
按上图所示设置,打开窗口后,Table将按顺序显示日期、产品、客户、数量四列,宽度分别为90、120、120、60,而其余各列将被隐藏。
4、单独调整某一列
如果要单独调整某一列的位置,可以使用Col的Move方法,例如将日期列移到最前面:
Tables("窗口1_Table1").Cols("日期").Move(0)
也可以单独隐藏某一列,例如:
Tables("窗口1_Table1").Cols("折扣").Visible = False