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


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

主题:[求助] 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


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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
zcgmxf
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部