Foxtable(狐表)用户栏目专家坐堂 → 编码重置列不起作用?


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

主题:编码重置列不起作用?

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
编码重置列不起作用?  发帖心情 Post By:2020/2/2 0:53:00 [只看该作者]

设计了菜单按钮,代码如下:
PopMessage("正在计算,请稍候!", "提示信息", PopIconEnum.Infomation,1)
DataTables("xszxztb").ReplaceFor("mxfxm", Nothing)
DataTables("xszxztb").ReplaceFor("mxfje", Nothing)
DataTables("xszxztb").ReplaceFor("mzfxm", Nothing)
DataTables("xszxztb").ReplaceFor("mzfje", Nothing)
DataTables("xszxztb").ReplaceFor("zxjxm", Nothing)
DataTables("xszxztb").DataCols("Fpsj").RaiseDataColChanged()
DataTables("xszxztb").DataCols("pklx_xxrd").RaiseDataColChanged()

点击菜单按钮重置列功能不起作用呢?(数据没有发生变化),但点击系统菜单的重置列却起作用(数据发生了变化)。为什么?谢谢!

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


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

DataColChanged事件写了什么代码?

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/2/3 21:04:00 [只看该作者]

与之相关的有:
If e.DataCol.Name="fusj"
    If e.DataRow("扶贫数据") Like "贫困*" And (e.DataRow("扶贫数据") Like "*2014*" Or  e.DataRow("扶贫数据") Like "*2015*")=False Then
        e.DataRow("pklx_sjbd")="建档立卡贫困户"
    End If
    If (e.DataRow("扶贫数据") Like "贫困*")=False  And (e.DataRow("民政数据") Like "*低保*"  Or  e.DataRow("民政数据")  Like "*特困*")
        e.DataRow("pklx_sjbd")=e.DataRow("民政数据")
    End If
    If e.DataRow("扶贫数据")="NULL"   And (e.DataRow("民政数据") Like "*低保*"  Or  e.DataRow("民政数据")  Like "*特困*")=False  And  e.DataRow("残联数据") Like "*残疾*" Then
        e.DataRow("pklx_sjbd")="残疾学生"
    End If
    
    If e.DataRow("扶贫数据") Like "*2014*"  Then
        If e.DataRow("rxsj") Like "2016*"
            e.DataRow("sfscyhzz")=False
        Else
            e.DataRow("pklx_sjbd")="2014年贫困退出户"
            e.DataRow("sfscyhzz")=True
            e.DataRow("tpnd")="2014年"
        End If
    End If
    If   e.DataRow("扶贫数据") Like "*2015*" Then
        If e.DataRow("rxsj") Like "2017*"
            e.DataRow("sfscyhzz")=False
        Else
            e.DataRow("pklx_sjbd")="2015年贫困退出户"
            e.DataRow("sfscyhzz")=True
            e.DataRow("tpnd")="2015年"
        End If
    End If
    
    If  e.DataRow("扶贫数据")="NULL"  And e.DataRow("残联数据")="NULL"  And  e.DataRow("民政数据") Like "低收入*" Then
        e.DataRow("pklx_sjbd")=e.DataRow("民政数据")
        
    End If
    
    If  e.DataRow("扶贫数据")="NULL"  And  e.DataRow("残联数据")="NULL"   And   e.DataRow("民政数据")="NULL"   And  e.DataRow("工会数据")<> "NULL"  Then
        
        '  e.DataRow("pklx_sjbd")=e.DataRow("工会数据")
        e.DataRow("pklx_sjbd")="建档困难职工家庭子女"
    End If
End If

但同是这些代码,手动点击重置列:扶贫数据,却能达到目的
[此贴子已经被作者于2020/2/3 21:05:12编辑过]

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


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

datacolchanged事件判断的是“fusj”列(If e.DataCol.Name="fusj"),要对这个列重置才行的

DataTables("xszxztb").DataCols("fusj").RaiseDataColChanged()

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/2/3 22:37:00 [只看该作者]

原文中是“fpsj”,是我复制上来把中文改为字母 改错了的。我手动点击重置列可以达到目的,代码不应该有错

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


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

那不应该有问题,上传实例说明

 回到顶部