für das ListViewGadget und das ListIconGadget habe ich jetzt eine SetGadgetStateEx() - Funktion geschrieben.
Wenn Du magst, kannst Du das ja mal ausprobieren:
Code:
EnableExplicit
Procedure SetGadgetStateEx(Gadget, SelectedItem)
Select GadgetType(Gadget)
Case #PB_GadgetType_ListView, #PB_GadgetType_ListIcon
! setTimeout( function() {
SetGadgetState(Gadget, SelectedItem)
! if (($(spider_GadgetID(v_gadget).div).find(".dgrid-selected")).length > 0) {
! spider_GadgetID(v_gadget).gadget.scrollTo({x:0,y:$(spider_GadgetID(v_gadget).div).find(".dgrid-selected").position().top});
! } else {
! spider_GadgetID(v_gadget).gadget.scrollTo({x:0,y:0});
! }
! }, 10);
Default
Debug "Unsupported Gadget"
EndSelect
EndProcedure
Enumeration
#Window
#ListViewGadget
#ListIconGadget
EndEnumeration
Define Counter
OpenWindow(#Window, 0, 0, 510, 140, "ScrollIntoView", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
; ######################
; # ListViewGadget
; ######################
ListViewGadget(#ListViewGadget, 10, 10, 250, 120)
For Counter = 1 To 12
AddGadgetItem (#ListViewGadget, -1, "Line " + Str(Counter) + " of the ListViewGadget")
Next
SetGadgetStateEx(#ListViewGadget, 10)
; ######################
; # ListIconGadget
; ######################
ListIconGadget(#ListIconGadget, 260, 10, 250, 120, "First Column", 200)
For Counter = 1 To 12
AddGadgetItem (#ListIconGadget, -1, "Line " + Str(Counter) + " of the ListIconGadget")
Next
SetGadgetStateEx(#ListIconGadget, 10)
Grüße ... Peter