public boolean doCommand(String strCommand, ScreenField sourceSField, int iCommandOptions)
    {
        if (strCommand.equalsIgnoreCase(MenuConstants.FORMDETAIL))
        { // Make sure if the use wants to select a record to re-connect the selection
            Record targetRecord = null;
            int iMode = ScreenConstants.DETAIL_MODE;
            OnSelectHandler listener = (OnSelectHandler)this.getMainRecord().getListener(OnSelectHandler.class);
            if (listener != null)
            {
                targetRecord = listener.getRecordToSync();
                this.getMainRecord().removeListener(listener, false);
                iMode = iMode | ScreenConstants.SELECT_MODE;
            }
            BasePanel screen = this.onForm(null, iMode, true, iCommandOptions, null);
            if (targetRecord != null)
                screen.setSelectQuery(targetRecord, false);
            return true;
        }
        else
            return super.doCommand(strCommand, sourceSField, iCommandOptions);
    }
public boolean doCommand ( String strCommand , ScreenField sourceSField , int iCommandOptions ) { if ( strCommand . equalsIgnoreCase ( MenuConstants . FORMDETAIL ) ) { Record targetRecord = null ; int iMode = ScreenConstants . DETAIL_MODE ; OnSelectHandler listener = ( OnSelectHandler ) this . getMainRecord ( ) . getListener ( OnSelectHandler . class ) ; if ( listener != null ) { targetRecord = listener . getRecordToSync ( ) ; this . getMainRecord ( ) . removeListener ( listener , false ) ; iMode = iMode | ScreenConstants . SELECT_MODE ; } BasePanel screen = this . onForm ( null , iMode , true , iCommandOptions , null ) ; if ( targetRecord != null ) screen . setSelectQuery ( targetRecord , false ) ; return true ; } else return super . doCommand ( strCommand , sourceSField , iCommandOptions ) ; }
Process the command.
<br />Step 1 - Process the command if possible and return true if processed.
<br />Step 2 - If I can't process, pass to all children (with me as the source).
<br />Step 3 - If children didn't process, pass to parent (with me as the source).
<br />Note: Never pass to a parent or child that matches the source (to avoid an endless loop).
@param strCommand The command to process.
@param sourceSField The source screen field (to avoid echos).
@param iCommandOptions If this command creates a new screen, create in a new window?
@return true if success.