Aktuelle Zeit: 02.06.2020 23:29

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: ComboBoxGadget mit vielen Daten
BeitragVerfasst: 02.04.2020 20:57 
Offline
Benutzeravatar

Registriert: 19.02.2010 20:19
Wohnort: Darmstadt
Hallo zusammen,

ich verwenden ComboBoxGadget mit viel Daten.
1.) es dauert lang bis alle Daten in ComboBoxGadget sind
2.) während das setzen im ComboBoxGadget werden die andere Gadget nicht angezeigt.

Gibt es da ein Lösung?
Code:
If OpenWindow(0, 0, 0, 270, 180, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ComboBoxGadget(1, 10, 30, 205, 21, #PB_ComboBox_Editable)
 
  StringGadget(2, 10, 60, 45, 21, "", #PB_String_ReadOnly)
  ButtonGadget(3, 50, 90, 50,21,"Test")
  max = 60000
  Time = ElapsedMilliseconds()
  For a = 1 To max
    AddGadgetItem(1, -1,"ComboBox item " + Str(a))
  Next
  Debug ElapsedMilliseconds()-Time
 
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

EndIf

_________________
Win-10, PB 5.31 (Windows - x86)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ComboBoxGadget mit vielen Daten
BeitragVerfasst: 02.04.2020 23:22 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Macht mit so vielen Eintragungen keinen sinn.
Selbst Datenbank Programme begrenzen Ihre Liste auf etwas 1000 Eintragungen und laden erst nach Anfrage nach.

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ComboBoxGadget mit vielen Daten
BeitragVerfasst: 03.04.2020 11:14 
Offline

Registriert: 21.01.2008 19:11
mk-soft hat geschrieben:
Macht mit so vielen Eintragungen keinen sinn.
...
Da gebe ich mk-soft Recht.
Willst Du die Wartezeit aber trotzdem etwas verkürzen:
Code:
Enumeration #PB_Event_FirstCustomValue
  #ComboFilled
EndEnumeration

Define max.i = 60000

Procedure FillCombo(max)
  Protected a.i, Time.i
  Time = ElapsedMilliseconds()
  DisableGadget(1, #True)
  DisableGadget(2, #True)
  DisableGadget(3, #True)
  SendMessage_(GadgetID(1),#WM_SETREDRAW,#False,0)
  For a = 1 To max
    AddGadgetItem(1, -1,"ComboBox item " + Str(a))
  Next
  SendMessage_(GadgetID(1),#WM_SETREDRAW,#True,0)
  Time=ElapsedMilliseconds()-Time
  SetWindowTitle(0, Str(Time)+" ms")
  PostEvent(#ComboFilled)
EndProcedure
Procedure EnableGadgets()
  DisableGadget(1, #False)
  DisableGadget(2, #False)
  DisableGadget(3, #False)
EndProcedure

If OpenWindow(0, 0, 0, 270, 180, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ComboBoxGadget(1, 10, 30, 205, 21, #PB_ComboBox_Editable)
 
  StringGadget(2, 10, 60, 45, 21, "", #PB_String_ReadOnly)
  ButtonGadget(3, 50, 90, 50,21,"Test")
  BindEvent(#ComboFilled, @EnableGadgets())
  CreateThread(@FillCombo(), max)
 
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

EndIf

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ComboBoxGadget mit vielen Daten
BeitragVerfasst: 03.04.2020 11:36 
Offline
Benutzeravatar

Registriert: 23.07.2011 02:08
Wer soll denn 60.000 Einträge in einer ComboBox durchsuchen?

Bild

Bild

Bild

_________________
Signatur und so


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ComboBoxGadget mit vielen Daten
BeitragVerfasst: 04.04.2020 10:42 
Offline
Benutzeravatar

Registriert: 19.02.2010 20:19
Wohnort: Darmstadt
Es geht um die Eingabe eine Ort aus eine Liste.
Durch Eingabe der erste Buchstaben, wird der valide Name gefunden und angezeigt.
Siehe auch viewtopic.php?t=31926

Danke Lord für die Lösung mit BindEvent/CreateThread

_________________
Win-10, PB 5.31 (Windows - x86)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye