以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗口中的绑定文本框,却无法做到,对应的禁止编辑?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138015)

--  作者:fengwenliuyan
--  发布时间:2019/7/20 17:27:00
--  窗口中的绑定文本框,却无法做到,对应的禁止编辑?
项目事件Initialize中设置了:
For Each dt As DataTable In DataTables
    dt.GlobalHandler.PrepareEdit = True
Next

全局表事件PrepareEdit中,设置了:
Select Case CurrentTable.DataTable.Name
    Case "项目设计" ,"项目设计窗口"
        If e.Row("锁定行") = True Then
            Select Case e.Col.name
                Case "结单","关键字","事件描述","处理区1","处理区2","处理区3","处理区4","照片","多文件","录入时间","新修时间"
                    e.cancel = True
            End Select
        End If
End Select

要求:
"锁定行"为true时,
1、表中该行指定列都禁止编辑,
2、且双击"事件描述"打开的窗口中的绑定文本框也对应禁止编辑。

现状:
第一个没问题,
但第二个要求,窗口中的绑定文本框,却无法做到,对应的禁止编辑。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小助手.foxdb



--  作者:有点蓝
--  发布时间:2019/7/20 17:31:00
--  
窗口控件需要另外控制,不受表事件影响:http://www.foxtable.com/webhelp/topics/2342.htm
--  作者:fengwenliuyan
--  发布时间:2019/7/20 23:44:00
--  回复:(有点蓝)窗口控件需要另外控制,不受表事件影...
Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField
    Case "项目设计.事件描述", "项目设计.处理区1", "项目设计.处理区2", "项目设计.处理区3", "项目设计.处理区4"
        For Each r As Row In Tables("项目设计").Rows
            If r("锁定行") = False Then
                ctl.ReadOnly = BooleanEnum.False \'允许编辑
            Else
                ctl.ReadOnly = BooleanEnum.True \'禁止编辑
            End If
        Next
End Select

enter事件中已经写好了,但是,还是没能起到禁止绑定控件编辑的效果?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小助手.foxdb



--  作者:fengwenliuyan
--  发布时间:2019/7/21 8:58:00
--  回复:(fengwenliuyan)回复:(有点蓝)窗口控件需要...
求帮助
--  作者:fengwenliuyan
--  发布时间:2019/7/21 14:14:00
--  
求帮助
--  作者:有点蓝
--  发布时间:2019/7/21 21:02:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小助手.zip