Foxtable(狐表)用户栏目专家坐堂 → 窗口中录入数据,如何触发DatacColChange事件?


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

主题:窗口中录入数据,如何触发DatacColChange事件?

帅哥哟,离线,有人找我吗?
旭日生
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2017/9/19 10:16:00 [只看该作者]

再强调一下:之前使用试用版,这些代码是没有任何问题的。但使用开发版后,反而出现了问题。

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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2017/9/19 10:31:00 [只看该作者]

再强调一下:之前使用试用版,这些代码是没有任何问题的。但使用开发版后,反而出现了问题。而且有了某种不确定性在里面。如将下面上边一行代码换为下边的代码,居然系统崩溃:
        Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "(?<=\()[0-9]+?(?=\))")
   换成:
     Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "(2\D(3))")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/19 10:53:00 [只看该作者]

 

点击重置列按钮我测试没问题。请认认真真测试。

 


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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2017/9/19 11:01:00 [只看该作者]

这么简单的动作,应该不会出错的。我重新下载安装看看。

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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2017/9/19 11:16:00 [只看该作者]

重新安装下载结果也一样。
如果按下列动作就可以得到结果:
1、以开发者身份进入系统,重置列没有反应。
2、进入表事件中,不用修改任何内容,退出
3、重置列,则想要的结果出现。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/19 11:26:00 [只看该作者]

以下是引用旭日生在2017/9/19 11:16:00的发言:
重新安装下载结果也一样。
如果按下列动作就可以得到结果:
1、以开发者身份进入系统,重置列没有反应。
2、进入表事件中,不用修改任何内容,退出
3、重置列,则想要的结果出现。

 

按住ctrl进入系统,就不会编译任何代码,也就是所有代码都不会生效;

 

你进入表事件,点击确定后,会重新编译代码,这时代码有效。


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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2017/9/19 21:49:00 [只看该作者]

谢谢客服高手帮忙,原来程序逻辑有漏洞。修改为这个,OK了。
If e.DataCol.Name = "LSH" Then
    Dim nms() As String = {"AH","DH","BGQX"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("XLS").Find("[LSH] = '" & e.DataRow("LSH") & "'")
        If dr IsNot Nothing
            Dim same As Boolean = dr("AH") = e.DataRow("AH") 
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
            If same Then e.DataTable.DataCols("AH").RaiseDataColChanged(e.DataRow)
        End If
    End If
End If


 回到顶部
总数 27 上一页 1 2 3