0 Replies Latest reply: Mar 13, 2014 10:47 AM by 6bcf85a9-3edc-4fa5-88b0-e9f334db446b RSS

    10G Scrollbar Shifts The Block Grid Left When Scrolling Vertically On Staked Canvas


      We are using Oracle Forms and SQL Plus 


      A Stacked Canvas named "WIDGETS_SCROLL" shows the widget records selected through our WIDGETS_PO master block.  See the illustrations at the bottom.


      We have a control block with a Widget PO ID filter that allows users to filter the WIDGETS_PO block items that will appear on the WIDGETS_SCROLL canvas.  This PO ID filter item is located at the top of our WIDGETS_PO Canvas.


      The main WIDGETS_PO Canvas Width is 679 and the Height is 313.  The block has a Vertical Scroll Bar Canvas with Scroll Bar X Position 551 and Scroll Bar Y Position 55 and a Scroll Bar Width of 14 and a Scroll Bar Length of 163.  The Reverse Dir property is No.


           [Informational]  The Reverse Direction property will cause the block to scroll in the opposite direction.  IE up means down and down means up.


      Our WIDGETS_SCROLL Viewport X Position is 150 and the Y Position is 121 placing it in the middle of the main WIDGETS_PO canvas.  It has a Viewport width of 544 and a Viewport Height of 165 pixels.  The Stacked Canvas Width is 1083 and the Height is 177.


           [Informational]  The Viewport Width and Hieght is the display area containing the block fields (with non-sizable dimensions) that the user will be able to view all together before scrolling right, left, or down. 


      The WIDGETS_SCROLL canvas is in the MAIN Window as are all the canvases.  It has a Viewport X Position On Canvas of 0 and a Viewport Y Position on Canvas of 6.  It has bevel set to None, Show Horizontal Scroll Bar Yes, and Show Vertical Scroll Bar No.


           [Informational]  The Bevel property determines if the object will appear as raised, lowered, or inset etc.


      There is a less important rectangle around the stacked canvas.  It's X Position is 6, Y Position is 53, Width is 558, Height is 165, Line Width is .01, Dash Style is Solid, Cap Style is Butt, Join Style is Bevel, Rotation Angle is 0, and Bevel is None.


      We also have a WIDGETS_JOURNAL block that displays at the bottom of the the WIDGETS_PO canvas when there is a match PO_ID.  This block has a Vertical Scroll Bar on the canvas with X Position 551, Y Position 224, Width 14, and Length 74.  Revers Dir No.




      When users move to the right of the WIDGETS_SCROLL canvas with the horizontal scroll bar (on the WIDGETS_SCROLL canvas) and then move down using the vertical scroll bar (on the WIDGETS_PO block)

      it moves them back to the 1st WIDGETS_PO field.




      Is it possible to scroll down with the vertical scroll bar (on the WIDGETS_PO block) and not shift to the beginning of the WIDGETS_PO block without showing the WIDGETS_SCROLL vertical scroll bar?

      In other words, will we have to add the WIDGETS_SCROLL vertical scroll bar?  Users do not want to have to scroll to the right in order to move the records down. Is it possible to use the WIDGETS_PO block

      scroll bar to move down without shifting to the left?




      Illustration 1:  What users see:


        PO ID                   


           Scrolling Widgets   



           PO Journaling         





      Illustration 2:  What developers see:


        Widget_PO canvas/:Control.PO_ID


           Widgets_Scroll stacked canvas



           Journaling Block on Widget_PO canvas




      Message was edited by: 6bcf85a9-3edc-4fa5-88b0-e9f334db446b One solution for this is to create two buttons at the end of the stacked canvas with ^ for scrolling up and v for scrolling down.  Both buttons will use Get_Item_Property('block.item',X_Pos) to determine where to offset the scroll bars.  When the buttons are pressed they will just user next_record or previous_record until the :SYSTEM.LAST_RECORD is true or until GET_BLOCK_PROPERTY('block_name',CURRENT_RECORD)=1 is true.  You will probably need to use a GO_ITEM and go to the last column before scrolling anywhere.  This technique allows the user to scroll up and down without having to shift back to the right of the block every time.  Thanks!