以文本方式查看主题

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

--  作者:chnfo
--  发布时间:2025/3/20 13:36:00
--  [求助]记录窗口数据设置只读
窗口中加了一个记录窗口,只想让它展示信息(也就是只读),如何设置?
--  作者:有点蓝
--  发布时间:2025/3/20 13:37:00
--  
http://www.foxtable.com/webhelp/topics/2635.htm
--  作者:chnfo
--  发布时间:2025/3/20 13:43:00
--  
我是做了一个窗口A,然后里面加了一个记录窗口控件,绑定了表X

是希望在窗口A中的记录窗口只能查看,不可编辑。

[此贴子已经被作者于2025/3/20 13:43:11编辑过]

--  作者:有点蓝
--  发布时间:2025/3/20 13:47:00
--  
就是2楼的用法,到绑定的表事件处理,帮助都有现成的代码了
--  作者:chnfo
--  发布时间:2025/3/31 10:36:00
--  

假定有个表,只允许在记录窗口输入数据,那么可以将PrepareEdit事件代码设置为:

If e.RecordGrid Is Nothing Then \'如果不是在记录窗口输入数据   -----这里说的是is nothing表示是不在记录窗口输入数据
   e.Cancel = True 
\'则取消输入

End
 If

示例二

假定不管是在录入窗口输入数据,还是在表中输入数据,只要正在编辑的是“第一列”,就自动打开下拉窗口:

If e.Col.Name = "第一列" Then
    If e.RecordGrid Is Nothing Then 
\'
如果是在表中输入数据 ----这里说的是is nothing表示是在表中输入数据
        If e.Col.DroppedDown = False Then
            e.Col.OpenDropDown()
        End If
    Else 
\'
如果是在记录窗口输入数据
        If e.RecordGrid .DroppedDown = False Then
            e.RecordGrid.OpenDropDown()
        End If
    
End If


--  作者:有点蓝
--  发布时间:2025/3/31 10:55:00
--  
帮助是死的,人是活的。帮助用的是不在记录窗口,就不会自己改改代码,改为在记录窗口的时候禁止编辑吗
--  作者:chnfo
--  发布时间:2025/4/1 10:46:00
--  
我是说帮助里正好写反了