以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  锁定行是否可以加密码?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26161)

--  作者:netfox168
--  发布时间:2012/11/26 12:05:00
--  锁定行是否可以加密码?
锁定行是否可以加密码?即在解锁时需要输入密码,这样防误操作更可靠。
--  作者:y2287958
--  发布时间:2012/11/26 12:25:00
--  
DataRowLockedChanging
InputPassword
[此贴子已经被作者于2012-11-26 12:29:01编辑过]

--  作者:TGGSTGGS
--  发布时间:2013/2/7 8:48:00
--  
如何编辑哪?
--  作者:lin_hailun
--  发布时间:2013/2/7 9:04:00
--  
 菜单->数据表->表属性->事件->DataRowLockedChanging

 代码

Dim pwd As String
If InputPassWord(pwd,"提示","请输入密码:") Then
    If pwd <> "123456" Then e.Cancel = True
End If

--  作者:TGGSTGGS
--  发布时间:2013/2/7 9:07:00
--  
谢谢
--  作者:TGGSTGGS
--  发布时间:2013/2/7 9:13:00
--  
锁定选定N行 录入N次密码太麻烦了。有没有简单的。没有人回答吗?
[此贴子已经被作者于2013-2-7 9:50:21编辑过]

--  作者:lin_hailun
--  发布时间:2013/2/7 10:05:00
--  
 代码这样写。输对一次密码,解锁所有选中行。

static flag As Integer = 0

Dim t As Table = Tables(e.DataTable.Name)
If e.DataRow.locked Then
    If flag = 0 Then
        e.Cancel = True
        Dim pwd As String
        If InputPassWord(pwd,"提示","请输入密码:") Then
            If pwd = "123456" Then
                flag = 1
            End If
        End If
    Else If flag = 1 Then
        e.Cancel = True
    Else If flag = 2 Then
       
    End If
End If

If t.BottomPosition = t.FindRow(e.DataRow) Then
    If flag = 1 Then
        flag = 2
        For i As Integer = t.TopPosition To t.BottomPosition
            t.Rows(i).Locked = False
        Next
    End If
    flag = 0
End If

--  作者:jianjingmaoyi
--  发布时间:2013/2/7 14:10:00
--  
我觉得应该配套自定义用户表的密码处理,因为能登陆或者员工信息在内的才能解开,密码用用户表的密码。
--  作者:TGGSTGGS
--  发布时间:2013/2/8 15:53:00
--  

批量锁定 批量解锁。没有更改行内容,结果显示部分行已经更改了(颜色).这好像不对?

[此贴子已经被作者于2013-2-12 18:21:30编辑过]

--  作者:lin_hailun
--  发布时间:2013/2/16 12:19:00
--  
以下是引用TGGSTGGS在2013-2-8 15:53:00的发言:

批量锁定 批量解锁。没有更改行内容,结果显示部分行已经更改了(颜色).这好像不对?

[此贴子已经被作者于2013-2-12 18:21:30编辑过]


这个是没有办法的,修改锁定值,就是修改了内容。没有办法避免。