以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]CurrentChanged事件问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88384) |
||||
-- 作者:青鸟 -- 发布时间:2016/8/1 23:49:00 -- [求助]CurrentChanged事件问题 DropBox控件录入时,帮助文件中有段代码,写在副本表的CurrentChanged事件中,目的是为了让主表指针与副本表的选定数据同步,如下: Dim dr As DataRow = e.Table.Current.DataRow Dim wz As Integer = Tables("客户资料").FindRow(dr) If wz >=0 Then Tables("客户资料").Position = wz End If 但当主表没有DropBox控件录入的数据时,程序出错。 请问:该错误如何规避?谢谢! |
||||
-- 作者:青鸟 -- 发布时间:2016/8/2 0:10:00 -- 是按照 帮助中的 “自定义录入界面之四” 写录入界面时遇到的问题 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/8/2 10:58:00 -- 1、错误提示? 2、可以根据错误提示,先自己分析一下: http://www.foxtable.com/webhelp/scr/1485.htm
最后搞不定了,再贴出出错的代码,错误提示,并告知是哪一行出错。 |
||||
-- 作者:青鸟 -- 发布时间:2016/8/2 14:07:00 -- 错误代码如下: .NET Framework 版本:2.0.50727.8689 Foxtable 版本:2016.6.26.1 错误所在事件:客户资料,CurrentChanged 详细错误信息: 未将对象引用设置到对象的实例。
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/8/2 14:14:00 -- if e.Table.Current is nothing then return end if Dim dr As DataRow = e.Table.Current.DataRow Dim wz As Integer = Tables("客户资料").FindRow(dr)
if wz >=0 Then
Tables("客户资料").Position = wz
End If
|
||||
-- 作者:青鸟 -- 发布时间:2016/8/2 16:43:00 -- 谢谢狐爸,但还是有问题,我上传附件来,请帮我看看。
基本想法是:在 “订单录入”窗口的 “客户姓名”(DropBox1)控件中,输入客户名字,如果该名字以前有记录,则选择,如果以前没有记录,则自动 调入 “客户录入”窗口补充录入,完成后返回 “订单录入”窗口,并将客户的其他信息显示在 “订单录入”窗口,供参考。 现在的问题是,输入以前没有记录的名字时,出现死循环。
|
||||
-- 作者:Hyphen -- 发布时间:2016/8/2 17:15:00 -- 去掉CurrentChanged事件里的msgbox就没有问题了。 表失去焦点,再获取焦点就会触发CurrentChanged,而CurrentChanged里的msgbox又会使表失去焦点
|