Search This Blog

Showing posts with label Ax 2012 vpc. Show all posts
Showing posts with label Ax 2012 vpc. Show all posts

Wednesday, December 7, 2016

Hide Query values in the dialog with select button Enabled


Scneario: we want to hide the query values that was selected by the user in query range select button.

I created the parmmethod as below in the class Dialog,RunBaseDialogModify


public boolean hideQueryValuesInDialog(boolean _showValues = showValues)
{
;
    showValues = _showValues;

    return showValues;
}

Added the highlighted code as below in the following method of class RunBaseDialogModify


client public static RunBaseDialogModify newRunbaseOnClient(
    RunBase         runBase,
    DialogRunbase   dialog)
{
    // <GEERU>
    RunBaseDialogModify runBaseDialogModify = RunBaseDialogModify::construct(runBase.runBaseDialogModifyType_RU());
    // </GEERU>
    ;
    runBaseDialogModify.parmRunbase(runBase);
    runBaseDialogModify.parmDialog(dialog);

//Addded by krishna
   runBaseDialogModify.rsaShowQueryValuesInDialog(dialog.rsaShowQueryValuesInDialog());
//Addded by krishna

    return runBaseDialogModify;
}

Server public static RunBaseDialogModify newRunbaseOnServer(
    RunBase         runBase,
    DialogRunbase   dialog)
{
    // <GEERU>
    RunBaseDialogModify runBaseDialogModify = RunBaseDialogModify::construct(runBase.runBaseDialogModifyType_RU());
    // </GEERU>
    ;
    runBaseDialogModify.parmRunbase(runBase);
    runBaseDialogModify.parmDialog(dialog);
//Addded by krishna
    runBaseDialogModify.rsaShowQueryValuesInDialog(dialog.rsaShowQueryValuesInDialog());
//Addded by krishna
    return runBaseDialogModify;
}

// <GEERU>
protected boolean addField(SysDictField _dictField, Set _fieldNameSet, LabelType _labelType, Range _range)
// </GEERU>
{
    boolean         ret = false;
    Map             map;
    DialogField     dialogField;
    TableId         tableId;

    if (_dictField)
    {
        tableId = _dictField.tableid();
        if (_fieldNameSet.in(_dictField.name()))
        {
            if (this.existField(_dictField))
            {
                this.addRange(this.getFieldName(_dictField), _range);
        }
    }
    else
    {
        ret = true;

            if (!dialogQueryFieldsMap.exists(tableId))
        {
                dialogQueryFieldsMap.insert(tableId, new Map(Types::String, Types::String));
        }

            map         = dialogQueryFieldsMap.lookup(tableId);
        dialogField = dialog.addField(extendedTypeStr(RunBaseRange), _labelType);

        dialogField.value(_range);
        dialogField.allowEdit(false);

//Addded by krishna
//  dialogField.visible(true);
        if(!showValues)
        {
            dialogField.visible(false);
        }
        else
        {
            dialogField.visible(true);
        }
//Addded by krishna

            map.insert(_dictField.name(), dialogField.fieldname());

            _fieldNameSet.add(_dictField.name());
        }
    }
    return ret;
}


In your runbasebatch class override the method as below
public DialogRunbase dialogInit(DialogRunbase dialog, boolean forceOnClient= false)
{
    DialogRunbase ret;
//Addded by krishna
    if (! dialog)
    {
        if (xGlobal::clientKind() != ClientType::Server || forceOnClient)
            dialog = DialogRunbase::newOnClient(this.caption(),this);
        else
            dialog = DialogRunbase::newOnServer(this.caption(),this);
    }
    dialog.rsaShowQueryValuesInDialog(false);
//Addded by krishna
    ret = super(dialog, forceOnClient);

    return ret;
}


The above changes will hide your query range selected values in the dialog with showing select button.

Wednesday, August 24, 2011

AX 2012 VPC And Materials Download

Partner Source Users only can access the following links.
Dynamics AX2012 VPC
VPCLink

Dynamics AX2012 Materials
MaterialsLink