Foxtable(狐表)用户栏目专家坐堂 → 求解:e.sender.value被强制为空。


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

主题:求解:e.sender.value被强制为空。

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
求解:e.sender.value被强制为空。  发帖心情 Post By:2020/9/12 12:19:00 [只看该作者]

老师 好
有一外部表A,如下:
 列1   列2   列3           
 A1  A2            
 B1  B2            
 B1  B2             
 B1  B2             

窗口中的TabControl里创建了Table1,Table2控件 
dim t1 as table = e.form.controls("Table1").table
t1.filter ="[列1]=‘A1’"
dim t2 as table = e.form.controls("Table2").table
t2.filter ="[列1]=‘B1’"

在TabControl里也创建了Textbox1控件,绑定了T1的列2,出现了这样的情况,求解
1.在Table2使用快捷菜单选择多条记录删除时,就会触发Textbox1控件的Valuechanged事件,(而同样使用快捷菜单进行单条记录删除时,则不会)。
2.在Textbox1控件的Valuechanged监看到 msgbox(e.sender.value):A2被强制为空。
为什么,怎么避免

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/12 13:55:00 [只看该作者]

删除行后,如果还有其它行,会自动选中下一行,Textbox1控件显示的就是选中行的值,如果列2的值和删除前选中的行的列2的值不一样,这时会触发Valuechanged事件,如果值一样,是不会触发的。这个和删除多少条数据没有什么关系,只要选中行列2的值不一样就肯定会触发Valuechanged事件。

如果要避免触发事件,可以看看:http://www.foxtable.com/webhelp/topics/2218.htm

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2020/9/15 10:58:00 [只看该作者]

老师 好
“删除行后,如果还有其它行,会自动选中下一行,Textbox1控件显示的就是选中行的值,“
Textbox1控件绑定的是t1的列,而进行多记录删除的是t2,对t2进行删除操作,应该不能影响t1啊

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/15 11:07:00 [只看该作者]

绑定后不仅和列有关,也和行有关,显示的是当前行的绑定列的值

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2020/9/15 11:11:00 [只看该作者]

刚刚测试了下,删除一条记录都不会触发Valuechanged事件,删除多条记录就会,不管列值是否相同

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/15 11:15:00 [只看该作者]

如果删除的这条记录的绑定列的值和删除后默认选中的行的绑定列的值一样,是肯定不会触发的。比如第一行t1的值是“1”,第二行t1的值也是“1”,删除第一行,系统会默认选中第二行,由于t1的值都是“1”,并没有变化,所以不会触发这个事件。如果第二行t1的值是“2”,肯定会触发事件

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2020/9/15 11:24:00 [只看该作者]

有一外部表A,如下:
 列1   列2   列3           
 A1  A2            
 B1  B2            
 B1  B2             
 B1  B2             

窗口中的TabControl里创建了Table1,Table2控件 
dim t1 as table = e.form.controls("Table1").table
t1.filter ="[列1]=‘A1’"
dim t2 as table = e.form.controls("Table2").table
t2.filter ="[列1]=‘B1’"

t1.filter 和t2.filter 不同,t2删除的记录,不在t1里啊

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/15 11:28:00 [只看该作者]

Table1,Table2控件 绑定的是同一个表吧?

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2020/9/15 11:45:00 [只看该作者]

是的  副本绑定

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/15 12:06:00 [只看该作者]

测试过,确实有点问题,我反馈一下

 回到顶部
总数 14 1 2 下一页