IG > Attribute
Initialization JavaScript Function
IG > Attribute
Initialization JavaScript Function
이미 예약된 항목명과 항목 순서가 정해져서 사용되는 것에 주의.
Shared Components > Lists 에서 Dynamic으로 리스트 생성
페이지에서 리스트 리전을 생성하고 이전에 생성한 리스트를 연결
Shared Components > Templates 에서 기존 템플릿을 복사하거나 신규로 생성
List Template Noncurrent 부분에 템플릿 HTML 생성
페이지의 리스트 리전에서 새로 만든 템플릿 연결
결과 확인
SAMPLE
참고
https://docs.oracle.com/en/database/oracle/apex/22.2/htmdb/creating-dynamic-lists.html#GUID-CC5C355C-E54E-474D-8F10-B1E7A1787C6E
Identification
- Column Name : APEX$LINK
- Type : Link
Link
- Target : Page22
- Link Text : <span aria-label="Edit"><span class="fa fa-edit" aria-hidden="true" title="Edit"></span></span>
참고
참고
https://hardlikesoftware.com/weblog/2022/04/25/interactive-grid-validation/
https://orclqa.com/question/how-to-validate-cell-value-in-interactive-grid-oracle-apex/
완벽하지는 않지만 두 가지 설정을 조합하여 구현
1. DA에서 IG 수정 가능하게 하는 편집 버튼과 추가 버튼을 보이지 않게 처리
2) 그래도 IG 더블클릭하면 다시 수정모드로 들어가는데 이 때는 IG Allowed Row Operations Column으로 제어
참고
https://forums.oracle.com/ords/apexds/post/how-to-make-an-ig-region-read-only-depending-of-the-value-o-9589
우선 ROW_OPERATION 이라는 항목을 두어서 DB에서 읽어온 데이터는 'U'라는 값을 가져오도록 했고 새로 입력하게 되는 레코드는 아무런 값이 없는 상태로 아래 이미지 설정 Allowed Operations 값에 따르면 추가/수정/삭제 모두 가능해야하지만 그 아래 Allowed Row Operations Column 에 따라서 1) 수정만 가능하게 2)삭제만 가능하게 3)둘 다 모두 가능하게 만들수도 있는데 현재는 읽어온 데이터는 수정만 가능하게 하는 설정
U : Row can be updated
D : Row can be deleted
UD : Row can be updated or deleted
그렇게하여 수정을 가능하게 되어도 해당 레코드 항목 중에서도 상품명은 수정할 수 없도록 추가 설정
읽기 전용 Read Only를 설정할 때 Item을 선택하였음에도 (통상적으로 페이지 아이템) IG 내의 컬럼 이름을 입력하여 처리가 가능하고 Execute : For Each Row로 셋팅
Execute 설명은 아래 참고
참고
https://www.insum.ca/how-to-set-specific-cells-of-interactive-grids-to-read-only/
좌측에 놓게될 리스트 구성은 클래식 리포트 - 미디어 리스트로 구성하였고 아이콘 있는 부분은 Activity Timeline 템플릿에서 user 부분을 참고하여 새로운 미디어 리스트 템플릿을 만들어서 적용하여 아이콘 대신 순번을 입력
커스텀 템플릿 만들기 - Media List - 20230303
이동 : Shared Components > Templates 에서 Media List 템플릿 복사 후 > Edit Report Template
아래 부분을
이렇게 변경
클래식 리포트 SQL
새로만든 템플릿으로 선택
P171_PID 페이지 아이디를 받아서 리스트 선택시 이동후 강조 색상이 변경됨 (리포트 SQL 참조)
P171_PID : 현재 페이지
P171_PID_P : 이전 페이지
P171_PID_N : 다음 페이지
이전과 다음 페이지는 현재 페이지를 받아서 계산한 후 기본 값으로 셋팅
상황에 따라 이전/다음 버튼을 보이고 감추기
이전버튼 : P171_PID가 1인 경우가 아니면 보이기
Server-side Condition - Type : Item != Value
Item : P171_PID
Value : 1
다음버튼 : P171_PID가 4, 5인 경우가 아니면 보이기
Server-side Condition - Type : Item is NOT in colon delimited list
Item : P171_PID
List : 4:5
계약서 미리보기에서 마크다운(Markdown) Clob 형태로 저장된 데이터 조회
Dynamic Content 리전
스크롤을 가능하도록 높이 고정 + 스크롤 옵션 설정
계약서 마크다운 등록은 폼 페이지에 마크다운 항목을 지정한 후 마크다운 형식으로 입력 후 통상 폼처럼 저장
형식 샘플1
형식 샘플2
계약서 서명 부분은 두개의 체크박스와 두개 모두 체크가 되면 현재 시각표시와 함께 최종 동의 후 계약 진행 버튼을 중앙에 보이도록
체크박스의 항목 변경시에
1) 자바스크립트 코드 실행
SID_BTN_AGREE : 최종 동의 버튼 SID
SID_BTN_DT : 현시점 일시 보이도록 하는 버튼 SID
2) Action : Set Value
Set Type : PL/SQL
Affected Elements - Selection Type : Item
Item : P171_DT
3) 자바스크립트 코드 실행
최종동의 버튼 실행 후 마지막 결과 페이지로 이동
참고
https://apex.oracle.com/pls/apex/r/apex_pm/ut/media-list
https://apex.oracle.com/pls/apex/r/apex_pm/ut/timeline-reports
테이블생성, 마크다운 형태의 데이터는 Blob이 아닌 Clob으로 그리고 varchar2 4000이 넘을 수 있으니 Clob으로.
Dynamic Content
APEX_MARKDOWN.TO_HTML
참고
https://inasie.github.io/it%EC%9D%BC%EB%B0%98/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4-%ED%91%9C-%EB%A7%8C%EB%93%A4%EA%B8%B0/
https://blogs.oracle.com/apex/post/native-markdown-support-in-apex-211
https://blogs.oracle.com/apex/post/whats-new-for-report-regions-apex-212
https://apex.oracle.com/pls/apex/r/gamma_dev/demo/markdown
https://apexapplab.dev/2021/04/27/apex-markdown-the-story-continues/
https://theorydb.github.io/envops/2019/05/22/envops-blog-how-to-use-md/#markdown-%EB%AC%B8%EB%B2%951%EB%B0%98%EB%93%9C%EC%8B%9C-%EC%95%8C%EC%95%84%EC%95%BC-%ED%95%98%EB%8A%94
테이블 생성, Quick SQL에서 file 타입으로 입력하면 자동으로 blob, _filename, _mimetype, _charset, _lastupd 컬럼이 생성됨
폼 페이지, 폼 리전 생성
P172_UPLOAD 항목 설정
Identification - Type : File Browse...
Setting - Display As : Block Dropzone
Storage Type : BLOB column specified in Item Source attribute
MIME Type Column : UPLOAD_MIMETYPE
Filename Column : UPLOAD_FILENAME
Character Set Column : UPLOAD_CHARSET
BLOB Last Updated Column : UPLOAD_LASTUPD
P172_UPLOAD Submit 될 때 체크할 Validation
Identification - Name : P172_UPLOAD_VAL
Validation - Type : Item is NOT NULL
Item : P172_UPLOAD
Error - Error Message : 업로드할 파일을 선택하십시오.
Display Location : Inline with Field and in Notification
Associated Item : P172_UPLOAD
Server-side Condition - When Button Pressed : CREATE
Type : Item is NULL
Item : P172_FID
파일 업로드 프로세싱과 Close Dialog
참고
Gallery - Sample File Upload and Download
https://forums.oracle.com/ords/apexds/post/how-to-upload-a-clob-into-a-table-9792
https://doyensys.com/blogs/25447-2/
https://arrayofpointers.wordpress.com/2015/01/11/upload-and-view-a-file-imagepdfdoc-in-a-list-of-oracle-apex-page/
http://jsfiddle.net/dirtyd77/LzLcZ/144/
* Be sure to set the identified page item's "Source Type" as "Database Column" and assign their "Source value or expression" as the corresponding column name in the application's "files" table.
JS initialization Code : function (config) { var $ = apex.jQuery, toolbarData = $.apex.interactiveGrid.copyDefaultToolbar(), ...