以文本方式查看主题

-  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=56332)

--  作者:蓝色理想
--  发布时间:2014/9/3 12:08:00
--  请问如何实现离开当前行就锁定的功能?
例子:
     新增加一行,编辑此行后,一旦离开此行,就锁定

请高手指点一下,谢谢

--  作者:有点甜
--  发布时间:2014/9/3 12:18:00
--  

 http://www.foxtable.com/help/topics/0645.htm

 


--  作者:蓝色理想
--  发布时间:2014/9/3 13:32:00
--  
If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then \'而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) \'获得原来选择的行
        If r.Locked <> True Then
            r.Locked = True
        End If
        If e.Table.Current.DataRow.RowState <> DataRowState.Unchanged Then
            r.Save() \'保存之
            MessageBox.Show("保存了")
        End If
    End If
End If

这段代码不能为啥不能自动保存?
难道这条语句 r.Locked = True
不会改变行状态?(已确定行没被锁定,这条语句执行后已执行了锁定操作)


--  作者:有点甜
--  发布时间:2014/9/3 14:28:00
--  
If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then \'而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) \'获得原来选择的行
        r.Locked = True
        r.Save() \'保存之
        MessageBox.Show("保存了")
    End If
End If

--  作者:包头123
--  发布时间:2014/9/3 14:30:00
--  
很好。收藏。