Temporary Data Input Grid to Grid

 

Note: You need two grid regions
         1. Main Grid Region
         2. Modal 
Grid Region for Data Selection 

Step: 1
=====

Select the Main Grid Region, then Create Custom  Button.
Grid Static ID: detailsid

So, Go to Region --> Attributes.

Initialization JavaScript Function:

function(config) {
    let $ = apex.jQuery,
        toolbarData = $.apex.interactiveGrid.copyDefaultToolbar();
    toolbarGroup = toolbarData.toolbarRemove("actions3");

    toolbarData.push(
        {
            groupTogether: false,
            align: "start",
            controls: [
                {
                    type: "BUTTON",
                    action: "saveaction",
                    id: "saveid",
                    label: "Choose Request Order",
                    hot: true
                }
            ]
        }
    );

    config.initActions = function (actions) {
        actions.add({
            name: "saveaction",
            action: function () {
                let agnCom = $v('P31_ASSIGEN_COMPANY_ID'); 
                if (agnCom) {
                    apex.region('Show_modal').refresh();
                    openModal('Show_modal'); // Static ID for input modal region
                } else {
                    apex.message.alert('At first select Agent Company!');
                }
            },
        });
    }
    config.toolbarData = toolbarData;
    return config;

}

Step: 2
=====

Create A new Modal Grid Region for Data selection.
Grid Static ID: 
Show_modal

Create a Custom Button.

So, Go to Region --> Attributes.

Initialization JavaScript Function:

function(config) {
    let $ = apex.jQuery,
        toolbarData = $.apex.interactiveGrid.copyDefaultToolbar();
    toolbarGroup = toolbarData.toolbarRemove("actions2");
    toolbarGroup = toolbarData.toolbarRemove("actions3");

    toolbarData.push(
        {
            groupTogether: false,
            align: "start",
            controls: [
                {
                    type: "BUTTON",
                    action: "details_action",
                    id: "details_action_id",
                    label: "Submit",
                    hot: true
                }
            ]
        }
    );

    config.initActions = function (actions) {
        actions.add({
            name: "details_action",
            action: function () {
                f_po_details_populate(); // function call from global variable
            },
        });
    }
    config.toolbarData = toolbarData;
    return config;
}


Go to Function and Global Variable Declaration:

// for submit button click, then put data Target Main region

function f_po_details_populate() {

    let gridView = apex.region("Show_modal").widget().interactiveGrid("getViews").grid; //Input Modal region static id

    let records = gridView.getSelectedRecords();
    let model = gridView.model;
    let widget2 = apex.region('detailsid').widget(); // Target main region static id
    let grid2 = widget2.interactiveGrid('getViews', 'grid');
    let model2 = grid2.model;
    if (records.length > 0) {
        $.each(records, function (i, r) {  // loop start modal grid data
            meta = model.getRecordMetadata(model.getRecordId(r))
            if (!meta.agg) {

                let v_id = model.getValue(r, 'ID'); //Input Modal grid pk id
                let v_req_number = model.getValue(r, 'REQ_NUMBER');
                let v_sim_operator_id = model.getValue(r, 'SIM_OPERATOR_ID');
                let v_approved_qty = model.getValue(r, 'APPROVED_QTY');

                model2.insertNewRecord(); //model2=Target main region
                id = model2._data[0][0];
                let record = model2.getRecord(id);
                meta2 = model2.getRecordMetadata(model.getRecordId(record));
                if (!meta.agg) {

                    model2.setValue(record, "SIM_REQ_DTL_ID", v_id);
                    model2.setValue(record, "REQ_NUMBER", v_req_number);
                    model2.setValue(record, "OPERATOR_NAME", v_sim_operator_id);
                    model2.setValue(record, "QTY", v_approved_qty);
                }
            }
        });
       $("#" + "Show_modal").dialog("close"); // for closing Input modal dialog

    } else {
        apex.message.alert("Please select at least one record.");
    }
}


Post a Comment

Previous Post Next Post