以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  转换行自动锁定上一行,已保护数据  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=6691)

--  作者:桥梁技术员
--  发布时间:2010/4/20 18:02:00
--  转换行自动锁定上一行,已保护数据
请问在表中如何实现一行输入完成后,转入下一行时上一行自动冻结,这样可以保证数据不被修改。
[此贴子已经被作者于2010-4-20 18:17:43编辑过]

--  作者:yangming
--  发布时间:2010/4/20 18:09:00
--  
可以锁定行,比如最后一列做一个锁定列,打勾就锁定
[此贴子已经被作者于2010-4-20 18:09:36编辑过]

--  作者:桥梁技术员
--  发布时间:2010/4/21 12:30:00
--  
请问楼上怎么做锁定行
--  作者:yangming
--  发布时间:2010/4/21 14:28:00
--  
以下是引用桥梁技术员在2010-4-21 12:30:00的发言:
请问楼上怎么做锁定行

DataColChanged

某一列的内容被更改后执行,此时列的内容已经是更改后的值。

e参数属性:

DataTable:返回发生数据更改的数据表。
DataRow:  返回发生数据更改的数据行。
DataCol:  返回发生数据更改的数据列。
NewValue: Object类型,表示新的值。

示例一

定在客户消费数据表中,有一逻辑型数据列,列名为“已结帐”,我们希望对于已结帐的行,能够自动通过审核(锁定),以免被误编辑。 
为实现这个目标,只需在DataColChanged事件中设置如下代码即可: 

If e.DataCol.Name = "已结帐" Then \'如果是已结帐列的内容变动
   
If e.NewValue = True Then \'而且变动后的值是True(已勾选)
        e.
DataRow.Locked = True \'那么锁定此行
   
End If
End
If

 

[此贴子已经被作者于2010-4-21 14:32:24编辑过]

--  作者:桥梁技术员
--  发布时间:2010/4/21 17:17:00
--  
谢谢楼上,已尝试,可行