_GUICtrlListView_BeginUpdate($Listview1)
$findnum=0
While _SQLite_FetchData ($hQuery,$aNames)=$SQLITE_OK
#cs ------方法1 前插
_GUICtrlListView_InsertItem($listview1,$aNames[0],$findnum)
; _GUICtrlListView_AddItem($listview1,$aNames[0]) ;这个不要用,否则数据显示错误。
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[1],1)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[2],2)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[10],3)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[4],4)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[5],5)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[3],6)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[6],7)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[7],8)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[8],9)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[9],10)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[11],11)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[12],12)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[13],13)
_GUICtrlListView_AddSubItem($listview1,$findnum,$aNames[14],14)
#ce
;#cs ------方法2 后插
GUICtrlCreateListViewItem (""&"|"&$aNames[0]&"|"&$aNames[1]&"|"&$aNames[2]&"|"&$aNames[10]&"|"&$aNames[4]&"|" _
&$aNames[5]&"|"&$aNames[3]&"|"&$aNames[6]&"|"&$aNames[7]&"|"&$aNames[8]&"|"&$aNames[9]&"|"&$aNames[11] _
&"|"&$aNames[12]&"|"&$aNames[13]&"|"&$aNames[14],$ListView1)
;#ce
$findnum+=1
;GUICtrlSetBkColor(-1,0xdcdcdc);隔行背景不同
WEnd
Local $listcount1= _GUICtrlListView_GetItemCount($Listview1);前后查询形成的LV的项目数量
If $listcount1>$findnum Then
;#cs ----方法2 对应后插 删除前一次查询结果
For $i=$listcount-1 To 0 Step -1
_GUICtrlListView_DeleteItem($listview1,0) ;一定要每次删除索引0
Next
; #ce
;----方法1 前插 删除前一次查询结果
#cs
For $i=$listcount1-1 To $findnum Step -1
_GUICtrlListView_DeleteItem($listview1,$i);这个删除索引就要变化了。
Next
#ce
EndIf
_GUICtrlListView_EndUpdate($ListView1)
经过测试,很好用,不管前一次后一次查询多么不同。一点也不闪。