以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]备注型列,停靠窗口编辑问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7162)

--  作者:ddlzq
--  发布时间:2010/5/21 14:15:00
--  [求助]备注型列,停靠窗口编辑问题

各位老师,我使用了某列值非空后的不可编辑代码,但备注型的列,在边栏的停靠窗口依然可以编辑,请问怎么样禁止这个编辑?

另外使用窗体设计出来的也有这种情况,被cancel的单元格不可编辑了,但窗体的控件框还是可以编辑,请问各位老师如何控制?

 

If e.Col.Name = "某列" AndAlso e.Row.IsNull("某列") = False Then
    e.Cancel = True
End If

[此贴子已经被作者于2010-5-21 14:14:58编辑过]

--  作者:czy
--  发布时间:2010/5/21 14:20:00
--  

你应该判断某列后用锁定行,这样其它单元格就不能编辑了。

 

If e.DataCol.Name = "已结帐" Then \'如果是已结帐列的内容变动
   
If e.NewValue = True Then \'而且变动后的值是True(已勾选)
        e.
DataRow.Locked = True \'那么锁定此行
   
End If
End
If


--  作者:ddlzq
--  发布时间:2010/5/21 14:26:00
--  
哦 CZY老师,我想说的是这列写后会锁定,但这列是备注型的,单元格被锁了,备注的停靠窗口还可以编辑...
--  作者:czy
--  发布时间:2010/5/21 14:32:00
--  
以下是引用ddlzq在2010-5-21 14:26:00的发言:
哦 CZY老师,我想说的是这列写后会锁定,但这列是备注型的,单元格被锁了,备注的停靠窗口还可以编辑...

 

嗯,你说的是个问题,让老六看看。


--  作者:ddlzq
--  发布时间:2010/5/21 14:47:00
--  
谢谢CZY老师,使用窗体控件时也是这样,直接可以在控制件中改东西。
--  作者:狐狸爸爸
--  发布时间:2010/5/21 14:53:00
--  
可以设置控件ReadOnly属性
--  作者:czy
--  发布时间:2010/5/21 15:02:00
--  
以下是引用狐狸爸爸在2010-5-21 14:53:00的发言:
可以设置控件ReadOnly属性

 

说的不是控件,在备注列列窗口打开情况下也是如此。


--  作者:狐狸爸爸
--  发布时间:2010/5/21 15:34:00
--  
我测试正常啊
--  作者:ddlzq
--  发布时间:2010/5/21 15:46:00
--  

啊?狐爸,我用的是2010-5-3的开发版,那我索取一下新开发版看有没有此问题,的确是可以编辑的...

我将代码写的是表属性的‘PrepareEdit’事件里的,当点击指定被cancel列的单元格,的确不可编辑,但如果这列是备注型的,在备注型的右边停靠的窗口中依然可以编辑东西,还可以更新单元格...奇怪了...

 

另外,我不小心点了‘杂项’菜单里的编辑目录树,怎么关不掉编辑目录树的窗口了啊...55555


--  作者:狐狸爸爸
--  发布时间:2010/5/21 15:58:00
--  

这是当然的,PrepareEdit只对单元格有效的,锁定才会对列窗口有效。

 

关于编辑目录树窗口无法关闭,升级可解决。