ddx13 发表于 2010-11-1 23:12:28

请问关于GUICtrlCreateListViewItem提交数据过多时太慢(已解决)

本帖最后由 ddx13 于 2010-11-2 09:40 编辑

请问关于GUICtrlCreateListViewItem提交数据过多时太慢有什么办法解决。

        $addfld = ObjCreate("ADODB.Connection")
        $addfld.Open($DSN)
        $RS = ObjCreate("ADODB.Recordset")
        $RS.ActiveConnection = $addfld
        $RS.Open("select * from 进货单")
        while Not $RS.eof And Not $RS.bof
                if @error = 1 Then ExitLoop
                        GUICtrlCreateListViewItem($RS.Fields(0).value & "|" & $RS.Fields(1).value & "|" & $RS.Fields(2).value & "|" & $RS.Fields(3).value & "|" & $RS.Fields(4).value & "|" & $RS.Fields(5).value & "|" & $RS.Fields(6).value & "|" & $RS.Fields(7).value & "|" & $RS.Fields(8).value & "|" & $RS.Fields(9).value & "|" & $RS.Fields(10).value & "|" & $RS.Fields(11).value & "|" & $RS.Fields(12).value & "|" & $RS.Fields(13).value & "|" & $RS.Fields(14).value & "|" & $RS.Fields(15).value & "|" & $RS.Fields(16).value & "|" & $RS.Fields(17).value & "|" & $RS.Fields(18).value & "|" & $RS.Fields(19).value & "|" & $RS.Fields(20).value & "|" & $RS.Fields(21).value & "|" & $RS.Fields(22).value & "|" & $RS.Fields(23).value, $JHList)
                        $MDBZSZ +=1
                $RS.movenext
        WEnd
        $RS.close
        $addfld.Close

因为是直接读取数据库,数据库小的时候还好,数据过大的时候数据库处理到是很快,但是提交到ListView 控件时屏幕会跳动,很慢要等半天,请问有什么办法可以解决这方面的问题。

afan 发表于 2010-11-1 23:14:43

先 _GUICtrlListView_BeginUpdate()
添加完再
_GUICtrlListView_EndUpdate()

ddx13 发表于 2010-11-2 09:39:51

谢谢,以前一直没有用到这个。今天又多学会了一点。

alaws 发表于 2014-1-12 23:02:49

学习了 回头测试一下性能

ak47gglllk 发表于 2014-9-26 09:45:15

感谢,感谢,学习了个好东西。万分感谢
页: [1]
查看完整版本: 请问关于GUICtrlCreateListViewItem提交数据过多时太慢(已解决)