If rs.State Then rs.Close
    str = "select isnull(cus_code,''),isnull(Check_Code,''),company_name,isnull(field,'')"
    str = str & ",isnull(source,''),isnull(cus_level,''),isnull(contact_id,''),isnull(write_date,'')"
    str = str & " from Table_custom"
    rs.Open str, ado1
    ListView1.ListItems.Clear
    i = 1
    While rs.EOF = False
        ListView1.ListItems.add
        ListView1.ListItems.Item(i).Text = rs(0)
        ListView1.ListItems.Item(i).SubItems(1) = rs(1)
        ListView1.ListItems.Item(i).SubItems(2) = rs(2)
        ListView1.ListItems.Item(i).SubItems(3) = rs(3)
        i = i + 1
        rs.MoveNext
    Wend
我有一段程序是这样往LISTVIEW中装入数据的
可是由于数据有3000多条
所以他装入的时候非常慢
请问有什么方法可以加快一些?

解决方案 »

  1.   

    listview1.visible=false
    While rs.EOF = False
            ListView1.ListItems.add
            ListView1.ListItems.Item(i).Text = rs(0)
            ListView1.ListItems.Item(i).SubItems(1) = rs(1)
            ListView1.ListItems.Item(i).SubItems(2) = rs(2)
            ListView1.ListItems.Item(i).SubItems(3) = rs(3)
            i = i + 1
            rs.MoveNext
        Wend
    listview1.visible=true装入时不可见,省了重画的时间。
    不过,3000多条,选用listview本来就不太适合。