Foxtable(狐表)用户栏目专家坐堂 → [求助] datacolchanged 事件


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

主题:[求助] datacolchanged 事件

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助] datacolchanged 事件  发帖心情 Post By:2016/7/24 10:24:00 [只看该作者]

老师,我的一个表的datacolchanged 有多个 sqlfind 和 SQLDeleteFor 导致打开窗口时速度明显变慢,

是否可以将其写到窗口的控件上?

 

If e.DataCol.Name = "确认狂苗费"  Then
    If e.DataRow("确认狂苗费") = True Then
        Dim nma() As String = {"部门","接诊医生","科室单号","病人姓名","狂苗名称","狂苗单位","狂苗售价","购买疫苗数量","狂苗生产厂家","狂苗规格","剂型","确认首次接种"}  'A表数据来源列
        Dim nmb() As String = {"收费部门","开单人","科室单号","缴费人","收费项目","单位","单价","数量","生产厂家","规格","剂型","确认开单"}  'B表数据接收列
        Dim dh As  DataRow = DataTables("收费明细").SQLFind("[科室单号] = '" & e.DataRow("科室单号") & "' and [收费项目] = '" & e.DataRow("狂苗名称") & "'")
        If dh Is Nothing Then
            dh = DataTables("收费明细").AddNew()
        End If
        For i As Integer = 0 To nma.Length - 1
            dh(nmb(i)) = e.DataRow(nma(i))
        Next
        dh.save
    Else
        DataTables("收费明细").SQLDeleteFor("[科室单号] = '" & e.DataRow("科室单号") & "'and [收费项目] = '" & e.DataRow("狂苗名称") & "'")
    End If
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/24 10:45:00 [只看该作者]

 你是不是重置列了?如果你不重置列,不会触发datacolchanged事件,不执行事件,是不会触发代码的。

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/7/24 10:47:00 [只看该作者]

这个表里没有重置列,另外的表有重置列

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/7/24 10:51:00 [只看该作者]

这个表里没有重置列,另外的表有重置列。这个表绑定的窗口中的控件有引用下拉窗口, 那个窗口中的表有重置列(DropDownForm )窗口。 如果把这个表datacolchanged 事件中的 sqlfind SQLDeleteFor 去掉后

打开窗口就很快。我一直在想,打开窗口怎么会触发datacolchanged 事件。

[此贴子已经被作者于2016/7/24 10:55:27编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/24 11:02:00 [只看该作者]

 datacolchanged事件加入msgbox,看看是否执行了。

 

 如果执行了,肯定是你有代码影响。


 回到顶部