Seite 1 von 1
					
				große Tabellen im ListViewGadget umsortieren
				Verfasst: 29.06.2014 15:07
				von reiner jakob
				Für eine Dokumentenverwaltung mit umfangreichen Sortier-Möglichkeiten verwende ich zur Darstellung das ListviewGadget.
bei Datenmengen über 20.000 Zeilen mit 13 Spalten wird die ständige Neuerstellung zeitlich langsam zur Qual. 
Kennt jemand eine Möglichkeit, die Liste referent zu sortierten und dann ohne neuschreiben über  ??? Listzeiger ??? sortiert darzustellen.
Ich habe großes Zutrauen zu euch . Gell ihr wißt da was.
ich warte in Andacht und Hoffnung auf euere Weisheiten.
			 
			
					
				Re: große Tabellen im ListViewGadget umsortieren
				Verfasst: 29.06.2014 15:51
				von edel
				Was dauert denn da so lange, das Sortieren oder das Einfügen? Für letzteres kannst du es so machen :
http://www.purebasic.fr/german/viewtopi ... 26#p284726 
			
					
				Re: große Tabellen im ListViewGadget umsortieren
				Verfasst: 29.06.2014 15:58
				von reiner jakob
				hi edel
das Sortieren ist kein Problem. Zu diesem Zeitpunkt ist die Liste im ListViewGadget angezeigt. Das Erstellen der Viewlist dauert lang. Wenn ich sortiert habe würde ich gerne die Liste nicht neu erstellen, sondern nur die AnzeigeReihenfolge der Sortierung nachempfinden.  Ich habe deinen link noch nicht angesehen. Das mach ich gleich.
			 
			
					
				Re: große Tabellen im ListViewGadget umsortieren
				Verfasst: 29.06.2014 16:31
				von reiner jakob
				Schluck .... Das verdauen...dauert 
melde mich später.
			 
			
					
				Re: große Tabellen im ListViewGadget umsortieren
				Verfasst: 29.06.2014 17:35
				von mk-soft
				Es hilft auch wenn man vor dem füllen das Gadget mit HideGadget(...) versteckt und nach dem füllen des wieder angezeigt.
			 
			
					
				Re: große Tabellen im ListViewGadget umsortieren
				Verfasst: 29.06.2014 20:48
				von Danilo
				Für Windows während dem Füllen einfach das Neuzeichnen ausschalten, da sonst nach jedem hinzufügen
eines Eintrags neu gezeichnet wird und die Scrollbars aktualisiert werden.
Code: Alles auswählen
Procedure DisableRedraw(hWnd)
    ; http://msdn.microsoft.com/en-US/library/dd145219(v=vs.85).aspx
    SendMessage_(hWnd,#WM_SETREDRAW,0,0)
EndProcedure
Procedure EnableRedraw(hWnd)
    ; http://msdn.microsoft.com/en-US/library/dd145219(v=vs.85).aspx
    SendMessage_(hWnd,#WM_SETREDRAW,1,0)
    RedrawWindow_(hWnd, 0, 0, #RDW_ERASE | #RDW_FRAME | #RDW_INVALIDATE | #RDW_ALLCHILDREN)
EndProcedure
DisableRedraw( GadgetID(listbox) )
; füllen
EnableRedraw( GadgetID(listbox) )
 
			
					
				Re: große Tabellen im ListViewGadget umsortieren
				Verfasst: 01.07.2014 21:35
				von reiner jakob
				hallo ihr freundlichen Tip-Geber
Edel. Deine Lösung ist ja irre schnell, und hat mit auch irre schell den Kopf platzen lassen. Das pack ich nicht, oder in diesem Leben nicht mehr. ich glaube, das geht dann mit Farben und anderen Attributen genau so weiter.
hk-soft,  deine und  Danilos Lösung sind wohl aus der gleichen Richtung un mit ähnlichem Effect.
Das bringt echt was, wenn auch nicht die volle Erwartung.
Ich hatte die Hoffnung, daß man mit Zeigern  das so wie mit Listen machen kann.
So etwas wie SWAP wär schon mal ganz super. Noch geiler wäre es in Purebasic z.B. ein Listviewgadget zu erstellen , und dann nur noch die Zeiger auf Structs zu stllen, oder sogar mit einem Basis-Zeiger die ganze Viewlist auf eine  list.scruct  zu stellen. 
Ihr wißt ja, die Hoffnung stirbt zuletzt.
bis dahin aber zuerst mal    
