Foxtable(狐表)用户栏目专家坐堂 → DataColChanged代码触发


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

主题:DataColChanged代码触发

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
DataColChanged代码触发  发帖心情 Post By:2019/3/8 10:51:00 [只看该作者]

计划"日期符","自动分组","机号"值发生变化触发事件,修改“日期机号”单元格值,DataColChanged中写入以下:

Select Case e.DataCol.Name
    Case "日期符","自动分组","机号"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("日期符") = False Then
            dr("日期机号") = dr("日期符") & "/" & dr("机号") & dr("自动分组") 
        End If
End Select

实际测试中修改"机号"时只会得出dr("日期符") & "/" & dr("机号"),而未加上"自动分组"的值,例如:三个值分别为20190102,B3155,1,机号B3155改为B3166后“日期机号”应该为20190102/B31661,而实际为20190102/B3166,只有再重置“自动分组”列,才能得出20190102/B31661求解代码有错吗,谢谢!

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


加好友 发短信
等级:四尾狐 帖子:969 积分:8532 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2019/3/8 11:20:00 [只看该作者]

可能的情况有好几个。例如是不是计算式列,是不是没有数据。是不是修改“机号”的代码里面没有保存相应的datarow等等,直接在表格里面写字不会触发datacolchanged.....

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


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

Select Case e.DataCol.Name
    Case "日期符","自动分组","机号"
        Dim dr As DataRow = e.DataRow
msgbox(dr("自动分组")) '弹出什么
        If dr.IsNull("日期符") = False Then
msgbox(dr("日期符") & "/" & dr("机号") & dr("自动分组") ) '弹出什么
            dr("日期机号") = dr("日期符") & "/" & dr("机号") & dr("自动分组") 
        End If
End Select

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2019/3/8 13:22:00 [只看该作者]

msgbox(dr("自动分组")) '弹出自动分组号:1
            msgbox(dr("日期符") & "/" & dr("机号") & dr("自动分组") ) '弹出正常,有自动分组号:20190102/B31661
            dr("日期机号") = dr("日期符") & "/" & dr("机号") & dr("自动分组")  日期机号” 仍然显示:20190102/B3166

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


加好友 发短信
等级:超级版主 帖子:107169 积分:545094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/8 14:22:00 [只看该作者]

DataColChanged事件还有没有其他代码,全部打出来,或者上传实例看看

 回到顶部