设置显示列

在默认情况下,窗口控件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())

参考:GetColVisibleWidth

4、设计时指定

在窗口设计的时候,Table控件有一个名为“显示列”的属性,可以一次性地设置要显示的列及其列宽:

按上图所示设置,打开窗口后,Table将按顺序显示日期、产品、客户、数量四列,宽度分别为90、120、120、60,而其余各列将被隐藏。

4、单独调整某一列

如果要单独调整某一列的位置,可以使用Col的Move方法,例如将日期列移到最前面:

Tables("窗口1_Table1").Cols("日期").Move(0)

也可以单独隐藏某一列,例如:

Tables("窗口1_Table1").Cols("折扣").Visible = False


本页地址:http://www.foxtable.com/webhelp/topics/1921.htm