以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]切换行问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12470) |
||||
-- 作者:jxjzj2000 -- 发布时间:2011/9/4 17:46:00 -- [求助]切换行问题 在beforeselchange中写入如下代码
If e.Table.Current.locked = False \'如果当前行未锁定
为什么增加行的时候,会跳出对话框 "请先保存当前客户信息!" ? 是不是哪里错了?
|
||||
-- 作者:czy -- 发布时间:2011/9/4 18:13:00 -- 增加行后重新选择了单元格,出现提示应该正常的吧。 |
||||
-- 作者:jxjzj2000 -- 发布时间:2011/9/4 18:57:00 -- 我想要的效果是:离开选择的行后,如果行没有被锁定,则提示,并且取消操作, 按照以上代码,这个效果是可以实现,但是增加行后也出现提示,很郁闷, 有什么方法可以实现上面效果,并且增加行后不出现提示呢 |
||||
-- 作者:布莱克朱 -- 发布时间:2011/9/4 19:15:00 -- 没有测试:
If e.NewRange.RowSel <> e.OldRange.RowSel AndAlso e.Table.Current.locked = FalseThen \'而且即将选择另一行并且没有锁定 MessageBox.Show("请先保存当前客户信息!", "提示") |
||||
-- 作者:jxjzj2000 -- 发布时间:2011/9/4 19:46:00 -- 还是不行,同样的问题,而且当删除行的时候,提示这个代码错误 |
||||
-- 作者:blackzhu -- 发布时间: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 -- 发布时间:2011/9/5 8:46:00 -- blackzhu大神,还是不明白哦,加个else ,代码写什么呢,没明白 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/5 9:10:00 -- 在BeforeAddDataRow事件中再加上一个判断吧:
http://www.foxtable.com/help/topics/0629.htm
|
||||
-- 作者:jxjzj2000 -- 发布时间:2011/9/5 9:25:00 -- 出现错误原因我不知道啊关键是,增加行的时候,应该自动选中所增加的行,自然,需要切换单元格并且换行,如果增加前的行已经锁定了,那么切换单元格应该是不会跳出对话框的。 但是,事实却是和我们想得不同,难道哪里思路错了吗? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/5 9:30:00 -- 你没有错,程序也没有错,添加行后,系统的当前行已经是新添加的行,表的位置和当前行并非使用同步的,有一个先后顺序。 问题比较复杂,无需深究。 |