以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何批量锁定满足条件的行,如何批量解锁满足条件的行?谢谢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3885)

--  作者:杨浩
--  发布时间:2009/8/17 14:29:00
--  如何批量锁定满足条件的行,如何批量解锁满足条件的行?谢谢
如何批量锁定满足条件的行,如何批量解锁满足条件的行?谢谢
--  作者:狐哥
--  发布时间:2009/8/17 14:51:00
--  
For Each dr As datarow In datatables("表").datarows
if dr("列名") = “XX”then
   dr.locked = true
end if
Next

--  作者:yangming
--  发布时间:2009/8/17 14:53:00
--  

BeforeLockDataRow

锁定某行(通过审核)之前执行,可以在此处进行权限和逻辑验证,决定是否允许即将进行的锁定行操作。

e参数属性: 

DataTable:返回要锁定行的数据表。
DataRow:  返回要锁定的数据行。
Cancel:    逻辑型,设为True,取消即将进行的锁定行操作。

示例

假定只允许经理级别的用户锁定行,可以设置BeforeLockDataRow事件代码为:

If User.Group <> "经理" Then
    e.Cancel =
True
End
If


BeforeUnLockDataRow

取消锁定某行(取消审核)之前执行,可以在此处进行逻辑判断,决定是否允许即将进行的取消锁定行操作

e参数属性: 

DataTable:返回要取消锁定行的数据表。
DataRow:  获得要取消锁定的数据行。
Cancel:    逻辑型,设为True,取消即将进行的锁定行操作。

示例

假定只允许经理级别的用户取消锁定行,可以设置BeforeUnLockDataRow事件代码为:

If User.Group <> "经理" Then
    e.Cancel =
True
End
If



--  作者:杨浩
--  发布时间:2009/8/17 15:15:00
--  
 

锁定指定条件的行:

Dim Q As  String

Q = e.Form.Controls("单位名称").Value

if Q = "" then   

Return       \'终止代码的执行

Else

For Each dr As datarow In datatables("调资基础数据").datarows
if dr("单位名称") = Q then
   dr.locked = true
end if
Next

End if



解锁指定条件的行:

Dim Q As  String

Q = e.Form.Controls("单位名称").Value

if Q = "" then   

Return       \'终止代码的执行

Else

For Each dr As datarow In datatables("调资基础数据").datarows
if dr("单位名称") = Q then
   dr.locked = False
end if
Next

End if



--  作者:杨浩
--  发布时间:2009/8/17 15:15:00
--  
这样实现的
--  作者:yangming
--  发布时间:2009/8/17 15:22:00
--  
这两段代码有意义吗?
--  作者:杨浩
--  发布时间:2009/8/17 15:48:00
--  
我们从基础表中的读入数据后,锁定所有数据!!!
--  作者:杨浩
--  发布时间:2009/8/17 15:48:00
--  
不准用户直接更改数据
--  作者:yangming
--  发布时间:2009/8/17 15:50:00
--  
那你的解锁代码不是正好能解开吗?
--  作者:杨浩
--  发布时间:2009/8/17 16:48:00
--  
解锁代码是留给我们自己用的