以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  帮忙优化一段代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=28961)

--  作者:even0898
--  发布时间:2013/2/23 23:03:00
--  帮忙优化一段代码

Dim st As Date = Date.Now
Tables("测试_Table1").DataTable.StopRedraw
With Tables("测试_Table1").DataTable
    .LoadFilter = ""
    .LoadTop = 20
    .LoadPage = 0
    Tables("测试_table1").Fill("Select  简称,交易币种,结款条件,税率,简介,联系人,职务,{供应商联络人}.电话 As [联系方式] From {供应商资料表} Inner JOIN {供应商联络人} ON {供应商联络人}.[代码] = {供应商资料表}.[代码]","ERP",True)
    .Load()
End With
With Tables("测试_table1")
    .MergeMode = MergeModeEnum.Free
    .MergeCols.Clear()
    .MergeCols.Add("简称")
    .MergeCols.Add("联系方式")
    .MergeCols.Add("结款条件")
    .MergeSort = "简称,联系方式,结款条件"
    .AllowMerge = True
    .DataTable.SysStyles("EmptyArea").BackColor = color.Transparent
End With
Tables("测试_Table1").DataTable.ResumeRedraw
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")

测试15行数据要接近7秒

我怀疑是我全部加载后再分页的,有没有办法用Fill的办法分页加载呢?


--  作者:even0898
--  发布时间:2013/2/23 23:08:00
--  

搞晕了,一会0.0几秒,一会要7秒..

[此贴子已经被作者于2013-2-23 23:30:10编辑过]

--  作者:lin_hailun
--  发布时间:2013/2/25 13:12:00
--  
 With Tables("测试_Table1").DataTable
    .LoadFilter = ""
    .LoadTop = 20
    .LoadPage = 0
    Tables("测试_table1").Fill("Select Top 20  简称,交易币种,结款条件,税率,简介,联系人,职务,{供应商联络人}.电话 As [联系方式] From {供应商资料表} Inner JOIN {供应商联络人} ON {供应商联络人}.[代码] = {供应商资料表}.[代码]","ERP",True)
    \'.Load()
End With