Wie schon in der Überschrift beschrieben habe ich ein Problem mit dem einlesen von Kunden in ein Listview.
Problem ist das das Listview anfängt zu flackern während die Daten in das Listview geschrieben werden.
Außerdem dauert es relativ lange bis alle Einträge angezeigt werden.
Habe mit $GUI_HIDE und $GUI_SHOW es hinbekommen, dass die Tabelle sehr viel schneller angezeigt wird und das flackern sehr verringert wird.
Ich lese ca 1000 Kundendaten in das erste Listview welches wohl das flackern hervorruft.
Habe schon versucht mit _GUICtrlListView_BeginUpdate() zu arbeiten aber das hatte irgendwie garkeinen effekt.
Ich kann hier natürlich keine Kundendatenposten deshalb hoffe ich das dieser Code-Schnipsel genügt um mir zu helfen
Spoiler anzeigen
Func LV_update()
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetState($ListView1, $GUI_HIDE)
GUICtrlSetState($ListView2, $GUI_HIDE)
GUICtrlSetState($ListView3, $GUI_HIDE)
GUICtrlSetState($ListView4, $GUI_HIDE)
_GUICtrlListView_DeleteAllItems($ListView1)
_SQLite_Exec(-1, "Create table if not exists Kunden (KdNr,Name,Straße,PLZ,Ort);")
_SQLite_GetTable2d(-1, "Select * From Kunden", $aResult, $iRows, $iColumns)
For $iR = 1 To $iRows
$sItem = ""
For $iC = 0 To $iColumns - 1
$sItem &= $aResult[$iR][$iC] & "|"
Next
GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $ListView1)
Next
$fSortSense1 = False
_GUICtrlListView_SimpleSort($ListView1, $fSortSense1, 0)
_SQLite_Exec(-1, "Create table if not exists Geräte (GID,Bezeichnung,Typ,Hersteller,SNr,Eigentümer,Standort);")
_SQLite_GetTable2d(-1, "Select GID,Bezeichnung,Typ,Hersteller,SNr,Eigentümer,Standort From Geräte Where Eigentümer = 'Werkstatt' and not Standort = 'Werkstatt'", $aResult, $iRows, $iColumns)
_GUICtrlListView_DeleteAllItems($ListView2)
For $iR = 1 To $iRows
$sItem = ""
For $iC = 0 To $iColumns - 1
$sItem &= $aResult[$iR][$iC] & "|"
Next
GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $ListView2)
_SetItemColor(-1, 0xFFFF33)
Next
_SQLite_GetTable2d(-1, "Select GID,Bezeichnung,Typ,Hersteller,SNr,Eigentümer,Standort From Geräte Where not Standort = Eigentümer and not Standort ='Werkstatt' and not Eigentümer ='Werkstatt'", $aResult, $iRows, $iColumns)
[/autoit] [autoit][/autoit] [autoit]For $iR = 1 To $iRows
$sItem = ""
For $iC = 0 To $iColumns - 1
$sItem &= $aResult[$iR][$iC] & "|"
Next
GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $ListView2)
_SetItemColor(-1, 0xFF6600)
Next
_SQLite_GetTable2d(-1, "Select GID,Bezeichnung,Typ,Hersteller,SNr,Eigentümer,Standort From Geräte Where Standort ='Werkstatt' and Eigentümer ='Werkstatt'", $aResult, $iRows, $iColumns)
[/autoit] [autoit][/autoit] [autoit]For $iR = 1 To $iRows
$sItem = ""
For $iC = 0 To $iColumns - 1
$sItem &= $aResult[$iR][$iC] & "|"
Next
GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $ListView2)
_SetItemColor(-1, 0x99FF33)
Next
$fSortSense2 = False
_GUICtrlListView_SimpleSort($ListView2, $fSortSense2, 0)
_SQLite_Exec(-1, "Create table if not exists Geräte (GID,Bezeichnung,Typ,Hersteller,SNr,Eigentümer,Standort);")
_SQLite_GetTable2d(-1, "Select GID,Bezeichnung,Typ,Hersteller,SNr,Eigentümer,Standort From Geräte Where Not Eigentümer = 'Werkstatt' And Not Eigentümer = Standort And Standort ='Werkstatt'", $aResult, $iRows, $iColumns)
_GUICtrlListView_DeleteAllItems($ListView3)
For $iR = 1 To $iRows
$sItem = ""
For $iC = 0 To $iColumns - 1
$sItem &= $aResult[$iR][$iC] & "|"
Next
GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $ListView3)
Next
$fSortSense3 = False
_GUICtrlListView_SimpleSort($ListView3, $fSortSense3, 0)
_SQLite_Exec(-1, "Create table if not exists Geräte (GID,Bezeichnung,Typ,Hersteller,SNr,Eigentümer,Standort);")
_SQLite_GetTable2d(-1, "Select GID,Bezeichnung,Typ,Hersteller,SNr,Eigentümer,Standort From Geräte", $aResult, $iRows, $iColumns)
_GUICtrlListView_DeleteAllItems($ListView4)
For $iR = 1 To $iRows
$sItem = ""
For $iC = 0 To $iColumns - 1
$sItem &= $aResult[$iR][$iC] & "|"
Next
GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $ListView4)
Next
$fSortSense4 = False
_GUICtrlListView_SimpleSort($ListView4, $fSortSense4, 0)
GUICtrlCreateTabItem("")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]GUICtrlSetState($ListView1, $GUI_SHOW)
GUICtrlSetState($ListView2, $GUI_SHOW)
GUICtrlSetState($ListView3, $GUI_SHOW)
GUICtrlSetState($ListView4, $GUI_SHOW)
EndFunc ;==>LV_update