以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  锁定部一行的部分列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90162)

--  作者:刘林
--  发布时间:2016/9/6 21:50:00
--  锁定部一行的部分列
有一代课记录表,我想做一个按键,用于增加一行,用户在将这行的日期,班级,科目,节次,事由,申请人信息填好后,再做一个保存键在保存数据时先判断这几列有不有空值,如有任意列空值则提示,如这几列无空值,则保存该行并锁定该行的这几列,因为该行还有其他列希望允许编辑,请指导
--  作者:有点蓝
--  发布时间:2016/9/6 22:03:00
--  
非空判断
Dim cs() As String = {"日期","班级","科目","节次","事由","申请人"}
Dim dr As Row  = Tables("表A").Current
For Each c As String In cs
    If dr.IsNull(c) Then
        msgbox("不能为空")
        Return
    End If
Next

dr.Save

--  作者:有点蓝
--  发布时间:2016/9/6 22:09:00
--  
禁止编辑,PrepareEdit事件

If e.Row.DataRow.RowState <> DataRowState.Added Then
    Select Case e.Col.Name
        Case "日期","班级","科目","节次","事由","申请人"
            e.Cancel = True
    End Select
End If

--  作者:刘林
--  发布时间:2016/9/6 22:11:00
--  
谢谢,我还想把当前行的这几列锁定,防止误编辑,怎么办呢,谢谢
--  作者:有点蓝
--  发布时间:2016/9/6 22:20:00
--  
如果是窗口的话,控制控件的enable和readonly