Row

Row表示Table中的行。

通过Table的Rows集合可以获得指定位置的行,例如:

Dim r As Row = Tables("订单").Rows(1)

表示订单表的第二行,行号从0开始编号。

在默认情况下,Rows在计算行号的时候,是排除分组行的,也就是说Rows(n)返回的是第n+1个数据行。

下图可以说明这种特性:

Table有一个Current属性,表示当前选定的行,例如:

Dim r As Row = Tables("订单").Current

通过列名称,可以获得或设置某一行中指定列的内容,例如:

Dim r As Row = Tables("订单").Current
r
("折扣") = 0.1
Tables(
"订单").Rows(0)("客户") = "CS01"
Output.Show(r(
"折扣"))
Output.Show(
Tables("订单").Rows(0)("客户"
) )

Row的常用属性有:

属性名 说明
IsNull 逻辑型,判断某一列的内容是否为空。
Locked 逻辑型,设置或者返回行的锁定状态
DataRow 获得Row所对应的DataRow

例如:

With Tables("订单").Current '引用当前行
    If .
IsNull("结账日期") = False Then '如果已经输入结账日期
        .
Locked = True '那么锁定此行
    End If
End With

有的时候,我们需要获得Row所属的DataRow,以便访问DataRow的属性和方法,例如重新加载当前行:

Tables("订单").Current.DataRow.Load()

Row的常用方法有:

方法名 说明
Save 保存行
Delete 删除行
Clone 克隆行,所谓克隆,就是新增加一行,且该行和被克隆行的各列内容完全一样

例如:

Tables("订单").Current.Save() '保存选定行
Tables(
"订单").Rows(0).Clone() '克隆第一行
Tables("订单").Rows(1).Delete() '删除第二行


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