以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于窗口中锁定表的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=35214) |
||||
-- 作者:paniwangji -- 发布时间:2013/6/26 15:56:00 -- [求助]关于窗口中锁定表的问题
请问,如图,我想实现:当选择上部表的某行时,如果审批列为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 --
刚刚做了一个例子,谢谢 |
||||
-- 作者:Bin -- 发布时间:2013/6/26 16:18: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 就是如果打开窗口不点击上部的表,则第一行不管审批是什么状态,都可以更改... |
||||
-- 作者: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 -- 可以用了,谢谢 |