Foxtable(狐表)用户栏目专家坐堂 → 切换表时特别卡


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

主题:切换表时特别卡

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
切换表时特别卡  发帖心情 Post By:2017/5/31 18:59:00 [显示全部帖子]

老师,请问下为什么我切换表时特别卡,等很久才切换过来,软件里大概有30个表

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/6/1 18:59:00 [显示全部帖子]

老师,我试了下是maintableChanged放太多东西了,我想问下,我想在切换表时,自动重置当前表的所有列,代码该怎么写,谢谢!

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/6/1 21:45:00 [显示全部帖子]

其他表还有类似这样的代码,每次重置才能刷新,很麻烦,所以才想到用切换表就自动重置
Select Case e.DataCol.Name
    Case "第一列","第二列","第三列"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("第一列") OrElse dr.IsNull("第二列") OrElse dr.IsNull("第三列") Then
        dr("第四列") = Nothing    
        Else
            Dim filter As String
            filter = "第一列 = '" & dr("第一列") & "' And 第二列 = '" & dr("第二列") & "' And 第三列 = '" & dr("第三列") & "'"
            pr = DataTables("Mps_Future").Find(filter)
           
If pr IsNot Nothing Then
         

 e.DataRow("第四列") = "已上传"
        Else
            e.DataRow("第四列") = "未上传"
        End If
End If
End Select

Select Case e.DataCol.Name
    Case "第一列","第二列","第三列"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("第一列") OrElse dr.IsNull("第二列") OrElse dr.IsNull("第三列") Then
        Else
            Dim filter As String
            filter = "第一列 = '" & dr("第一列") & "' And 第二列 = '" & dr("第二列") & "' And 第三列 = '" & dr("第三列") & "'"
            pr = DataTables("Mps_Future").Find(filter)
            If pr IsNot Nothing Then
                pr("第四列") = "已上传"
            End If
        End If
End Select

If e.DataCol.Name = "第三列新" AndAlso e.NewValue > 0 Then 
e.DataRow("第三列") = e.DataRow("第三列新")
End  If

If e.DataCol.name = "第五列" Then
 If e.NewValue.length = 8 Then
 Dim d As Date = new Date(e.NewValue.Substring(0,4), e.newvalue.substring(4,2), e.newvalue.substring(6,2))
 e.DataRow("第五列")= d
 End If
End If

Select Case e.DataCol.Name
    Case "北京"
        If e.DataRow.IsNull("北京") = False Then
     Dim nma() As String = {"1","2","3","4","5","6","7","8","9","10","11","12"} '
            Dim nmb() As String = {"1","2","3","4","5","6","7","8","9","10","11","12"} '
            Dim dr As DataRow = DataTables("7").AddNew()    
           For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If
End Select

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/6/1 21:47:00 [显示全部帖子]

老师,如果切换表时,只自动重置当前的表应该不会卡吧,又不是切换表时所有表的列都重置了

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/6/1 22:18:00 [显示全部帖子]

老师,这样的代码能帮我写一下吗?如果打开的是表A,那么自动重置表A的A列,B列,C列

 回到顶部