Home› X++ Programming Language› / Programs / ANSARIBalanceSheetReconUIBuilder
🚀 Programming Example

ANSARIBalanceSheetReconUIBuilder

30 Views
Beginner
Code Snippet
Learn this program step-by-step with algorithm, source code, output and detailed explanation.

💻 Program Code

/// <summary>
/// The <c>ANSARIBalanceSheetReconUIBuilder</c> class is the Ui builder class <c>ANSARIBalanceSheetReconReport</c> report.
/// </summary>
class ANSARIBalanceSheetReconUIBuilder extends SysOperationAutomaticUIBuilder
{
    ANSARIBalanceSheetReconContract _contract;
    DialogField datePhysical;
    DialogField inventSiteId;
    DialogField inventLocationId;

    
    /// <summary>
    /// method to add dailogfields.
    /// </summary>
    public void build()
    {
        _contract = this.dataContractObject() as ANSARIBalanceSheetReconContract;
        datePhysical        = this.addDialogField(methodStr(ANSARIBalanceSheetReconContract, parmDatePhysical), _contract);
        inventSiteId        = this.addDialogField(methodStr(ANSARIBalanceSheetReconContract, parmInventSiteId), _contract);
        inventLocationId    = this.addDialogField(methodStr(ANSARIBalanceSheetReconContract, parmInventLocationId), _contract);

    }

    /// <summary>
    /// Method to Bind and Register override methods for dialog controls.
    /// </summary>
    public void postBuild()
    {
        super();
        _contract = this.dataContractObject() as ANSARIBalanceSheetReconContract;
        datePhysical = this.bindInfo().getDialogField(_contract, methodStr(ANSARIBalanceSheetReconContract, parmDatePhysical));

        inventSiteId = this.bindInfo().getDialogField(_contract, methodStr(ANSARIBalanceSheetReconContract, parmInventSiteId));
        inventSiteId.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(ANSARIBalanceSheetReconUIBuilder, siteLookUp), this);

        if (inventSiteId)
        {
            inventSiteId.lookupButton(2);
        }

        inventLocationId = this.bindInfo().getDialogField(_contract, methodStr(ANSARIBalanceSheetReconContract, parmInventLocationId));
        inventLocationId.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(ANSARIBalanceSheetReconUIBuilder, locationLookUp), this);

        if (inventLocationId)
        {
            inventLocationId.lookupButton(2);
        }
    }

    /// <summary>
    /// Overrides the lookup method to show the Site
    /// </summary>
    /// <param name = "_control">Reference of the string control</param>
    private void siteLookUp(FormStringControl _control)
    {
        Query                   query;
        container               conCustTable;
        QueryBuildDataSource    qbds1;
        query                   = new Query() ;
        qbds1                   = query.addDataSource(tableNum(InventSite));
       
        qbds1.addSelectionField(fieldNum(InventSite, SiteId));
        qbds1.addSelectionField(fieldNum(InventSite, Name ));
       
        SysLookupMultiSelectGrid::lookup(query, _control, _control, _control, conCustTable);
    }

    /// <summary>
    /// Overrides the lookup method to show the Warehouse
    /// </summary>
    /// <param name = "_control">Reference of the string control</param>
    private void locationLookUp(FormStringControl _control)
    {
        Query                   query;
        container               conCustTable;
        QueryBuildDataSource    qbds1;
        query                   = new Query() ;
        qbds1                   = query.addDataSource(tableNum(InventLocation));
       
        qbds1.addSelectionField(fieldNum(InventLocation, InventLocationId));
        qbds1.addSelectionField(fieldNum(InventLocation, Name ));
       
        SysLookupMultiSelectGrid::lookup(query, _control, _control, _control, conCustTable);
    }

    /// <summary>
    /// PostRun to avoid multiple override method lookup.
    /// </summary>
    public void postRun()
    {

    }

}
📚 Learning Subject

Master Programming Through Practical Examples

Improve your coding logic, problem-solving skills and programming confidence by practicing real-world examples with explanations.

🎯 How to learn from this example

First understand the algorithm carefully. Then study the program line-by-line and compare it with the output. Finally, review the explanation section to strengthen your logic and programming understanding.

🔥 Practice suggestion

Rewrite the program without looking at the code. Modify values, conditions or logic and run it again. This helps improve confidence and strengthens coding skills much faster.