以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口事件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43133)

--  作者:cqlwsam
--  发布时间:2013/11/30 9:52:00
--  [求助]窗口事件
如图。如果修改了某行中的任意数据,旁边的按钮除确定及放弃能使用外,其它按钮无法使用。代码写在那个窗口事件中?

图片点击可在新窗口打开查看此主题相关图片如下:360软件小助手截图20131130094749.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-11-30 9:52:49编辑过]

--  作者:Bin
--  发布时间:2013/11/30 9:57:00
--  
在DataColChanged事件 中
判断一下窗口是否已经打开

if forms("窗口名").opened then
  For Each c As WinForm.Control In Forms("窗口名").Controls
    If Typeof c Is WinForm.Button AndAlso c.name <> "确定" AndAlso c.name <> "取消" Then 
        c.Enabled=False
    End If
Next
end if

--  作者:cqlwsam
--  发布时间:2013/11/30 10:10:00
--  

如果这样写代码,应该放在哪个事件中。

With Tables(“基本情况”)
     If  .Current.DataRow.RowState = DataRowState.modified Then 
\'如果当前行修改

        For Each c As WinForm.Control In Forms("窗口名").Controls

           If Typeof c Is WinForm.Button AndAlso c.name <> "确定" AndAlso c.name <> "取消" Then 
              c.Enabled=False
           End If

       Next 
     End If

End
With

[此贴子已经被作者于2013-11-30 10:30:21编辑过]

--  作者:cqlwsam
--  发布时间:2013/11/30 10:43:00
--  
另外,编辑只针对该行,不能切换到其他行。就是说局限于该行。
--  作者:Bin
--  发布时间:2013/11/30 10:49:00
--  
只能在DataColChanged事件
--  作者:cqlwsam
--  发布时间:2013/11/30 11:27:00
--  
哦。我想想还有其他变通的办法没有!谢谢!