How can I display a dialog canvas in Oracle Forms Builder?

20,793

Solution 1

I found out what was the problem finally. The parent Window had a property [Hide On Exit] which is defaulted to Yes and that made the parent form disappear everytime another window is on display. I set it to NO and called the other form. This time both windows are visible, with the modal one always on top.

Solution 2

The navigation between different canvases can be little bit tricky to get to work. Hard to say what is the problem with not having the form in front of me but the first thing I should do is making sure that the 'Raise on entry' canvas property of the 'main' canvas is set to 'Yes'. This should force this canvas to be displayed when you are moving the cursor back to block 'BLK_ALL_RECORDS'.

Another alternative could be to use SHOW_VIEW() in the cancel dialog logic to force the main canvas to be displayed.

Share:
20,793
Ahmad
Author by

Ahmad

I am a Full Stack Software Engineer who has a passion for building solutions to solve existing problems/needs. I acquired a Udacity Nanodegrees as Front End Developer and iOS Developer. During the last 10 years of my career, I developed several web apps using ASP.Net that automates the task of technical support engineers quickly and securely. On my free time, I also enjoy building educational web app interactive games for kids to help them learn math and language skills. I'd love to combine my passion for writing software and providing solutions to continue building applications that are beneficial, productive, and helpful. I am experienced in the following fields: HTML5 / CSS3 / JavaScript ES6 ReactJS, Redux, Firebase Integration Bootstrap.js / D3.js / P5.js / jQuery C# / ASP.Net MVC iOS Development Microsoft SQL Server / Oracle PL/SQL / MySql / SQLite / Core Data PHP

Updated on July 20, 2022

Comments

  • Ahmad
    Ahmad almost 2 years

    I have built a form in which the user can view multiple rows of data pulled from a table. The user has the option to select a row, then pressing a button to reject the data in that row, (to be marked as rejected in some STATUS field).

    I have also designed a rejection confirmation dialog with the ability for the user to enter some comments or reason for rejection.

    I have set up the dialog canvas to appear on its own window with the Type proeperty set to Dialog.

    When the user selects a row to reject, here is the code that gets executed:

    BEGIN
      GO_BLOCK('BLK_ALL_RECORDS');
    
      FIRST_RECORD;
    
    
        IF :FRM_ALL_ROWS.CHK_SELECT = 1 THEN
          :FRM_REJECTION.ID := :FRM_ALL_ROWS.ID;
            GO_BLOCK('BLK_REJECTION');
            SHOW_VIEW('CNV_REJECTION');
            EXIT;
         ELSE
             NEXT_RECORD;
         END IF;   
    
    END;
    

    And the rejection form has two buttons, one to confirm and one to cancel. Let's just focus on the cancel button for now. Here is the code that is executed once the Cancel button is pressed:

    :BLK_ALL_ROWS.CHK_SELECT := 0;  /* Forces removal of the check mark */
    GO_BLOCK('BLK_ALL_RECORDS'); 
    HIDE_VIEW('CNV_REJECTION');
    

    The only problem is : once the dialog form appears, it hides the parent form, until the form is dismissed. How can display the dialog form ontop of the parent form with both of them visible (in a modal way?)