20210502 - IG Interactive Grid - 각 Row에 버튼 생성하고 PL/SQL로 프로세싱(2)

지난 포스트에서 완료하지 못한 HTML 형식의 버튼을 구현하였고 버튼 클릭 이벤트에서 PL/SQL 처리를 하였음.




1) SQL문 내에서 버튼에 대한 HTML 생성

(앞선 APEX 전문가 의견대로 하지 않은 이유는 조건에 따라서 버튼이 보이고/안보이게 하는 조정을 SQL내에서 먼저 구현하기 위함) 

select ID,
       STORE_NM,
       STORE_TYPE_STR,
       OWNER_NM,
       PHONE1_COUNTRY_NO, PHONE1,
       PHONE2_COUNTRY_NO, PHONE2,
       EMAIL,
       REQ_YN,
       case APR_YN
         when 'Y' then '<span style="text-align=center">처리완료</span>'
         else '<button class="APRButtonX t-Button t-Button--default t-Button--hot t-Button--stretch" 
               id='||ID||' type="button"><span class="t-Button-label">승인처리</span></button>'
       end APR_YN,
       AUTH_METHOD
  from WO_STORE_REQ


2) 컬럼 Type을 HTML Expression >> &APR_YN. (마침표까지)



3) DA Dynamic Action 클릭 이벤트 생성

 - Event : Click

 - Selection Type : jQuery Selector

 - jQuery Selector : .APRButtonX (SQL의 HTML에서 작성한 버튼 클래스)




4) DA True 이벤트 Action

 4-1) Confirm : 승인 처리하시겠습니까?

 4-2) Execute JavaScript Code : IG 변경 사항 체크

if (apex.page.isChanged())
{
  apex.message.alert("변경 사항을 먼저 저장하십시오");
  return false;
}

 4-3) Set Value : JavaScript Expression : IG 에서 해당 Row PK 값을 읽어 (SQL의 HTML에서 이미 작성된) IG 외부의 아이템 P5_DATAPK 에 값을 셋팅 (이 PK 값을 PL/SQL 처리시 활용)


 4-4) Execute Server-side Code : PL/SQL 처리


 4-5) Refresh : 처리된 해당 리전 Refresh


 4-6) Clear : 처리시 활용된 PK 값은 Clear



처리를 완료하면 '처리필요' 버튼이 '처리완료' 텍스트로 변경됨.


20210502.

댓글 없음:

댓글 쓰기

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

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