Foxtable(狐表)用户栏目专家坐堂 → 求助增加多行时很慢


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

主题:求助增加多行时很慢

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/11 11:32:00 [显示全部帖子]

执行上面的代码慢?

 

不会慢的,看一下你DataRowAdding或者DataRowAdded是否写了什么代码


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/11 12:31:00 [显示全部帖子]

上传可测试慢的项目


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/11 14:53:00 [显示全部帖子]

密码发上来啊

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/11 15:57:00 [显示全部帖子]

Tables("打印产品.生产编码").AddNew() '增加行
'光标定位在新增加行
If Tables("打印产品.生产编码").Current IsNot Nothing Then
    Tables("打印产品.生产编码").Select(Tables("打印产品.生产编码").Current.Index,Tables("打印产品.生产编码").Cols("产品类别").Index)
    Tables("打印产品.生产编码").StartEditing
End If

Dim n As Integer = 5
If InputValue(n, "行数", "增加多少行?") Then
    DataTables("生产编码").StopRedraw
    systemready = False
   
    Dim max As String
    Dim idx As Integer
    max = Tables("打印产品.生产编码").Compute("Max(日编号)","日期 = #" & Tables("打印产品").Current("日期") & "#") '取得该天的最大编号
    If max > "" Then '如果存在最大编号
        idx = CInt(max.Substring(9,3)) + 1 '获得最大编号的后三位顺序号,并加1
    Else
        idx = 1 '否则顺序号等于1
    End If
   
    For i As Integer = 1 To n
        Dim nr = Tables("打印产品.生产编码").AddNew
        nr("编号")= Format(Tables("打印产品").Current("日期"),"yyyyMMdd") '日期转换字符
        nr("日编号")= nr("编号") & "-" & format(idx + i - 1, "000")
    Next
    systemready = True
    DataTables("生产编码").ResumeRedraw
    DataTables("生产编码").DataCols("二维码编号").Expression = "IIF([分支器] Like '空%',[姓名]+':'+[类别代码]+'-'+[日编号],[姓名]+':'+[分支器]+[类别代码]+'-'+[日编号])"
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/11 16:04:00 [显示全部帖子]

DataTables("使用统计").DataRows.Clear()  '清除
For i As Integer = 1 To 3
    Dim g As New GroupTableBuilder("统计表1", DataTables("考勤表"))
    g.Groups.AddDef("姓名")
    g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
    g.Groups.AddDef("日期", "月")
    g.Groups.AddDef("调休单_单号" & i)
    g.Totals.AddDef("调休单_时间" & i)
    g.Filter = "[调休单_单号" & i & "] Is Not Null"
    g.Build()
   
    '填充
    Dim f As New Filler
    f.SourceTable = DataTables("统计表1") '指定数据来源
    f.SourceCols = "姓名,年,月,调休单_单号" & i & ",调休单_时间" & i '指定数据来源列
    f.DataTable = DataTables("使用统计") '指定数据接收表
    f.DataCols = "姓名,年,月,调休单号,调休时间" '指定数据接收列
    f.ExcludeExistValue = True '不重复
    f.Fill() '填充数据
Next

 回到顶部