20230127 - IG Column Change 컬럼의 값이 변경될 때 다른 컬럼에 같은 값을 셋팅하는 방법

컬럼의 값이 변경될 때 다른 컬럼에 같은 값을 셋팅하는 방법





참고

https://diveintoapex.com/2022/02/09/trick-to-reference-field-value-in-dynamic-action-on-grid-column/

20230127 - 페이지 아이템 값 가져오는 방법 5가지 GetValue



$("#P28_FIRST" ).val();
$v('P28_FIRST');
document.getElementById('P28_FIRST').value;
apex.item('P28_FIRST').getValue();
apex.items.P28_FIRST.value;



참고

https://www.javainhand.com/2022/01/5-methods-to-get-oarcle-apex-page-item-value.html

20230126 - IG Selection Change 마스터-디테일과 유사하게 IG 해당 로우를 변경할 때 상세를 조회

마스터-디테일과 유사하게 IG 해당 로우를 변경할 때 상세를 조회할 수 있도록 상세 조회 조건 아이템에 값을 셋팅한 후 DA에서 조회



var grid            = apex.region("SID_IGSUM").call("getViews","grid");
var selectedRecords = grid.view$.grid("getSelectedRecords");
var record1         = selectedRecords[0];

if( typeof record1 === 'undefined' || record1 === null || selectedRecords.length == 0){
    return false;
}

P533_UID_SELECTED.value = "";
P533_CID_SELECTED.value = "";

$.each(selectedRecords, function(i, r) {
    P533_UID_SELECTED.value = grid.model.getValue(r, "USER_ID");
    P533_CID_SELECTED.value = grid.model.getValue(r, "COMP_ID");
});



참고

https://github.com/mgoricki/orclapex-ig-cheat-sheet#interactive-grid-events

20230114 - IG 선택된 여러 Row에 대한 PL/SQL 프로세스 처리

1. 우선 버튼 클릭 이벤트에 IG에서 선택된 Row를 추출하여 페이지 아이템에 가지고 있고 request ID와 함께 submit 처리


var ig$             = apex.region("myStaticIGPOMST").widget();
var grid            = ig$.interactiveGrid("getViews","grid");
var model           = grid.model;
var selectedRecords = grid.view$.grid("getSelectedRecords");
var record1         = selectedRecords[0];

if( typeof record1 === 'undefined' || record1 === null || selectedRecords.length == 0){
    apex.message.clearErrors();
    apex.message.showErrors([{
            type: "error",
            location: ["page"],
            message: "처리 전에 대상 내역을 먼저 체크하십시오.",
            unsafe: false
        }
    ]);    
    return false;
}

var vConfirm = confirm("선택한 것들 '주문대기' 처리하시겠습니까?");
if (!vConfirm) return false;

$s("P7_SELECTED_ROWS", "");

var selRecords = {"rows": []};
var selRecordsJSON;

$.each(selectedRecords, function(i, r) {
    selRecords.rows.push({"PO_ID": grid.model.getValue(r, "PO_ID")});
});

selRecordsJSON = JSON.stringify(selRecords);

apex.page.submit({
    request: "BTN_ODR",
    set: {
        "P7_SELECTED_ROWS": selRecordsJSON
    },
    showWait: true
});


2. 프로세스에서 해당 PL/SQL 처리


declare
  ....
l_values apex_json.t_values;
l_row_count PLS_INTEGER;
begin
  IF :REQUEST != 'BTN_ODR' THEN RETURN; END IF;

  apex_json.parse(p_values => l_values, p_source => :P7_SELECTED_ROWS);
  l_row_count := apex_json.get_count(p_path => 'rows', p_values => l_values);

  FOR i IN 1..l_row_count LOOP
    l_poid := null;
    l_poid := TO_NUMBER(apex_json.get_varchar2(p_path => 'rows[%d].PO_ID', p0 => i, p_values => l_values));

    ......

  END LOOP;

end;


참고

https://fos.world/ords/f?p=10000:2020:::NO:::

https://srihariravva.blogspot.com/2019/02/interactive-grid-bulk-operation.html

http://robertsondas.com/apexor//f?p=116:700::::::

http://orclking.blogspot.com/2020/11/save-selected-interactive-grid-records.html

https://srihariravva.blogspot.com/2019/02/interactive-grid-bulk-operation.html


:REQUEST

https://community.oracle.com/tech/developers/discussion/4315418/how-to-get-request-name-of-the-clicked-submit-button-when-clicked-using-javascript-or-jquery


20230114 - IG에서 선택된 Row에서 값을 추출하여 페이지 아이템에 셋팅



var ig$             = apex.region("SID_IGPROJECT").widget();
var grid            = ig$.interactiveGrid("getViews","grid");
var model           = grid.model;
var selectedRecords = grid.view$.grid("getSelectedRecords");
var record1         = selectedRecords[0];

if( typeof record1 === 'undefined' || record1 === null || selectedRecords.length == 0){
    apex.message.clearErrors();
    apex.message.showErrors([{
            type: "error",
            location: ["page"],
            message: "프로젝트 내역이 없습니다.",
            unsafe: false
        }
    ]);    
    return false;
}

P153_PID.value = "";

$.each(selectedRecords, function(i, r) {
    P153_PID.value = parseInt(grid.model.getValue(r, "PID"));
});

20230114 - IR 각 로우에 선택 버튼 추가

 



Column > Column Formatting > HTML Expression :


<button class="SelectedCompID
           t-Button
           t-Button--simple
           t-Button--hot" data-comp-id="#COMP_ID#" data-comp-nm="#COMP_NM#" type="button">
    <span class="t-Button-label">선택</span>
</button>

20250202 - IG 다운로드 버튼 바로 보이기

JS initialization Code : function (config) {     var $ = apex.jQuery,         toolbarData = $.apex.interactiveGrid.copyDefaultToolbar(),  ...