Foxtable(狐表)用户栏目专家坐堂 → [求助]关于窗口中锁定表的问题


  共有4787人关注过本帖树形打印复制链接

主题:[求助]关于窗口中锁定表的问题

帅哥哟,离线,有人找我吗?
paniwangji
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:180 积分:1609 威望:0 精华:0 注册:2013/4/25 14:05:00
[求助]关于窗口中锁定表的问题  发帖心情 Post By:2013/6/26 15:56:00 [只看该作者]


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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/26 16:01:00 [只看该作者]

可以的呀.上例子 非常简单的.  在表的CurrentChanged事件中 判断设置表锁定即可.

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/26 16:10:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
paniwangji
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:180 积分:1609 威望:0 精华:0 注册:2013/4/25 14:05:00
  发帖心情 Post By:2013/6/26 16:14:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.table

刚刚做了一个例子,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/26 16:18:00 [只看该作者]

.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.table


 回到顶部
帅哥哟,离线,有人找我吗?
paniwangji
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:180 积分:1609 威望:0 精华:0 注册:2013/4/25 14:05:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:180 积分:1609 威望:0 精华:0 注册:2013/4/25 14:05:00
  发帖心情 Post By:2013/6/26 17:25:00 [只看该作者]

可以用了,谢谢

 回到顶部