FindRow
根据指定的条件表达式查找行,返回整数型值,表示行的位置,如果没有找到符合条件的行,则返回 -1。
本方法也可以用于查找某一个DataRow在表(Table)中的位置。
如果Table处在汇总模式下,计算行位置的时候,分组行不包括在内。
语法一
FindRow(Expression, RowStart, Wrap)
参数
例如我们需要在当前表中的公司名称列中,查找单位包括“湛江”二字的行:
With CurrentTable
Dim r
As Integer
r = .FindRow("[公司名称]
Like '%湛江%'") '从
第一行开始查找
If r
>= 0
Then '如果找到的话
.Position
= r '定位到找到的行。
End If
End With
上面的代码是从第一行开始查找,如果要从当前行的下一行开始查找,代码如下。
With CurrentTable
Dim
如果我们做一个按钮来执行上面的代码,那么反复单击按钮,会依次找出符合条件的行。
语法二
FindRow(DataRow)
DataRow: 指定一个数据行
返回指定的数据行在Table中的位置,如果没找到(例如Table处于筛选状态,而此数据行恰好不符合筛选条件),则返回-1。
例如
在订单表中,我们希望将光标定位到最后一次订购PD01产品的订单:Dim
dr As DataRow上面的代码,首先利用DataTable的Find方法找出符合条件的DataRow,然后利用Table的FindRow方法找出这一DataRow在Table中的位置
。
说得通俗点,就是先在仓库(DataTable)中查找,看看仓库是否有符合条件的DataRow,如果有,就到展厅(Table)中找出这个DataRow的位置。