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.
G_USER Specifies the currently logged in user. G_FLOW_ID Specifies the ID of the currently running application. G_FLOW_STEP_ID Specifi...