以文本方式查看主题

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

--  作者:paniwangji
--  发布时间:2013/6/26 15:56:00
--  [求助]关于窗口中锁定表的问题


图片点击可在新窗口打开查看此主题相关图片如下:123.jpg
图片点击可在新窗口打开查看

 

请问,如图,我想实现:当选择上部表的某行时,如果审批列为True,则下部的关联表锁定,不能修改,反之则可以,这个能实现吗?


--  作者:Bin
--  发布时间:2013/6/26 16:01:00
--  
可以的呀.上例子 非常简单的.  在表的CurrentChanged事件中 判断设置表锁定即可.
--  作者:狐狸爸爸
--  发布时间:2013/6/26 16:09:00
--  

还有一种方法,在子表的PrepareEdit事件设置代码:

 

Dim dr As Datarow = e.Row.GetParentRow("父表")

if dr IsNot Nothing AndAlso dr("审批") = True Then

   e.Cancel =True

End If


--  作者:狐狸爸爸
--  发布时间:2013/6/26 16:10:00
--  

建议看看:

 

http://www.foxtable.com/help/topics/2649.htm

 


--  作者:paniwangji
--  发布时间:2013/6/26 16:14:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.table

刚刚做了一个例子,谢谢
--  作者:Bin
--  发布时间:2013/6/26 16:18:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.table


--  作者:paniwangji
--  发布时间:2013/6/26 16:45:00
--  

狐爸的

Dim dr As Datarow = e.Row.GetParentRow("父表")

这个句总是出错

我改成

Dim dr As Datarow = e.DataRow.GetParentRow("父表")也不行。。。

 

Bin的可以实现我说的功能

Tables("主表.明细表").AllowEdit = Not e.Table.Current("审批")

但是又一个BUG

就是如果打开窗口不点击上部的表,则第一行不管审批是什么状态,都可以更改...


--  作者:Bin
--  发布时间:2013/6/26 16:54:00
--  
以下是引用paniwangji在2013-6-26 16:45:00的发言:

狐爸的

Dim dr As Datarow = e.Row.GetParentRow("父表")

这个句总是出错

我改成

Dim dr As Datarow = e.DataRow.GetParentRow("父表")也不行。。。

 

Bin的可以实现我说的功能

Tables("主表.明细表").AllowEdit = Not e.Table.Current("审批")

但是又一个BUG

就是如果打开窗口不点击上部的表,则第一行不管审批是什么状态,都可以更改...

小问题,在打开窗口或者打开项目事件中 使用同样的方式处理一下即可.
--  作者:paniwangji
--  发布时间:2013/6/26 17:25:00
--  
可以用了,谢谢