Foxtable(狐表)用户栏目专家坐堂 → [求助]切换行问题


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

主题:[求助]切换行问题

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


加好友 发短信
等级:幼狐 帖子:142 积分:1031 威望:0 精华:0 注册:2011/8/14 1:57:00
[求助]切换行问题  发帖心情 Post By:2011/9/4 17:46:00 [只看该作者]

在beforeselchange中写入如下代码

 

If e.Table.Current.locked = False  '如果当前行未锁定
    If e.NewRange.RowSel <> e.OldRange.RowSel Then '而且即将选择另一行
        e.Cancel = True '那么取消操作
        MessageBox.Show("请先保存当前客户信息!", "提示")
    End If
End If

 

为什么增加行的时候,会跳出对话框  "请先保存当前客户信息!"  ?

是不是哪里错了?

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


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/9/4 18:13:00 [只看该作者]

增加行后重新选择了单元格,出现提示应该正常的吧。

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


加好友 发短信
等级:幼狐 帖子:142 积分:1031 威望:0 精华:0 注册:2011/8/14 1:57:00
  发帖心情 Post By:2011/9/4 18:57:00 [只看该作者]

我想要的效果是:离开选择的行后,如果行没有被锁定,则提示,并且取消操作,

按照以上代码,这个效果是可以实现,但是增加行后也出现提示,很郁闷,

有什么方法可以实现上面效果,并且增加行后不出现提示呢


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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2011/9/4 19:15:00 [只看该作者]

没有测试:

 

    If e.NewRange.RowSel <> e.OldRange.RowSel AndAlso e.Table.Current.locked = FalseThen '而且即将选择另一行并且没有锁定

        MessageBox.Show("请先保存当前客户信息!", "提示")
        e.Cancel = True '
    End If


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


加好友 发短信
等级:幼狐 帖子:142 积分:1031 威望:0 精华:0 注册:2011/8/14 1:57:00
  发帖心情 Post By:2011/9/4 19:46:00 [只看该作者]

还是不行,同样的问题,而且当删除行的时候,提示这个代码错误

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/9/5 7:39:00 [只看该作者]

昨日我也糊涂了,你这个代码,只要一离开单元格就会提示的.

If e.Table.Current.locked = False  '如果当前行未锁定
    If e.NewRange.RowSel <> e.OldRange.RowSel Then '而且即将选择另一行
        e.Cancel = True '那么取消操作
        MessageBox.Show("请先保存当前客户信息!", "提示")
Else
 代码    
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:142 积分:1031 威望:0 精华:0 注册:2011/8/14 1:57:00
  发帖心情 Post By:2011/9/5 8:46:00 [只看该作者]

blackzhu大神,还是不明白哦,加个else  ,代码写什么呢,没明白

 回到顶部
帅哥,在线噢!
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

在BeforeAddDataRow事件中再加上一个判断吧:

 

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

 


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


加好友 发短信
等级:幼狐 帖子:142 积分:1031 威望:0 精华:0 注册:2011/8/14 1:57:00
  发帖心情 Post By:2011/9/5 9:25:00 [只看该作者]

出现错误原因我不知道啊关键是,增加行的时候,应该自动选中所增加的行,自然,需要切换单元格并且换行,如果增加前的行已经锁定了,那么切换单元格应该是不会跳出对话框的。

但是,事实却是和我们想得不同,难道哪里思路错了吗?


 回到顶部
帅哥,在线噢!
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/5 9:30:00 [只看该作者]

你没有错,程序也没有错,添加行后,系统的当前行已经是新添加的行,表的位置和当前行并非使用同步的,有一个先后顺序。

问题比较复杂,无需深究。


 回到顶部
总数 33 1 2 3 4 下一页