坐标与选定区域

下面这些属性是相关的,所以放在一起讲述。

下面用两幅图片来说明这些坐标属性的关系:

上述属性在计算位置的时候,是从0开始的;例如选定第一列,ColSel属性的值等于0,而不是等于1;同样ColSel属性等于1的时候,表示选择的是第二列,而不是第一列。 

RowSel、TopRow、BottomRow三个属性,似乎和之前介绍的Position、TopPosition、BottomPosition属性有些重复,其实不然,如果Table处于汇总模式下,Position、TopPosition、BottomPosition在计算位置的时候,是排除分组行的,而本节介绍的RowSel、TopRow、BottomRow等属性在计算的时候,是包括分组行的。
下图可以清晰地说明这种差别:

Position属性是可设置的,通过设置Position属性,我们可以选定指定位置的行。
而本节介绍的属性是只读的,我们只能通过执行Select方法来选择某一区域。

Select方法的语法是:

Select(Row, Col)
Select(TopRow, LeftCol, BottomRow, RightCol)

参数

Row:      行位置
Col:       列位置
TopRow:    选定区域最上边一行的位置
LeftCol:   选定区域最左边一列的位置
BottomRow: 选定区域最下边一行的位置
RightCol:  选定区域最右边一列的位置 

上述位置在计算的时候,均包括分组行。

例如选定当前表的第1行第1列:

CurrentTable.Select(0,0)

例如选定当前表第二行第三列至第八行第7列之间的区域:

CurrentTable.Select(1,2,7,6)

再例如需要获得选定的列,可以参考下面的代码:

Dim t As Table = Tables("订单")
Dim
c As Col = t.Cols(t.ColSel)
MessageBox.Show(
"选定列的名称是:" & c.Name)


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