Foxtable(狐表)用户栏目专家坐堂 → beginedit报错


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

主题:beginedit报错

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/13 9:47:00 [显示全部帖子]

没看懂,上传实例看看。

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/13 10:50:00 [显示全部帖子]

单独一个窗口看不出什么问题,请上传完整实例

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/13 11:37:00 [显示全部帖子]

这样的用法在逻辑上是有问题的:

        '添加新客户
        If Result = DialogResult.Yes Then
            Dim cname As String
            Dim newctarget As DataRow
            Dim newcsource As DataRow
            For Each ccode As String In ccodes
                cname = DataTables("temperorder").getcomboliststring("clientname","[client] = '" & ccode & "'")
                newcsource = DataTables("temperorder").Find("[client] = '"& ccode &"'")
                newctarget = DataTables("CLIENT").addnew()
                newctarget("name") = newcsource("clientname")
上面赋值后会触发datacolchanged,弹出编辑窗口,由于是模式窗口,下面的代码被阻塞,窗口点击取消,这行被删除,关闭窗口后会继续执行下面的代码,下面代码还给这个被删除的行赋值,自然就出错了。
                newctarget("code") = newcsource("client")
            Next
        Else

个人建议应该在窗口里添加一个客户表的副本,然后新的客户全部在副本里新增,这个过程中不要弹出编辑窗口。导入完毕后,点击副本的行再弹出编辑窗口。

 回到顶部