nexacro : data binding, grid

김선미·2022년 12월 28일

데이터 바인딩

  • 방법 1 : properties - bindable - action - value - dataset, column 지정

  • 방법 2 : invisible object - dataset 선택 - 바인딩 할 컴포넌트로 드래그 앤 드롭 - column id 지정

  • 방법 3 : project exploler - Form - 해당 페이지 form - object - dataset 선택 - column id 선택 - 바인딩 할 컴포넌트로 드래그 앤 드롭

  • visible : properties - bindable - action - visible - dataset, column 지정

    • column의 값이 true/false인 경우 true/false에 따라 컴포넌트가 보이거나 안보이게 속성을 지정할 수 있다. 예) 체크박스 체크 true/false에 따라 캘린더를 보이거나 안보이게 하기; 이때 캘린더 visible에 체크박스에 바인딩된 컬럼이 똑같이 바인딩 되어야 한다.

그리드

  • properties

    • autofittype : col 을 선택하면 컬럼의 너비가 자동으로 화면에 맞춰 조절된다.
    • cell moving : 드래그 앤 드롭으로 셀 위치를 바꿀 수 있다
    • cell sizingtype : 사용자가 마우스로 row 또는 컬럼의 크기를 바꿀 수 있다
    • autosizingtype : 그리드에 모든 데이터가 표시되도록 자동조절 할 수 있다
    • autosizebandtype : autosizingtype 속성에 의해 자동으로 조정될 영역을 설정한다
  • 그리드 편집 : 그리드 더블클릭 - grid content editor

    • band : left, right 고정 가능
    • ctrl x, paste : append(맨 끝으로 나타내기), insert(삽입)
    • add headrow : head row 추가
    • merge cell : a big cell(셀 하나로 병합), having child cells(셀 하나로 병합되나 개별 속성은 유지함
    • defalt format : defalt 를 우클릭하면 포맷을 추가로 생성, 복사, 삭제 등을 할 수 있다.
      • set_formatid 메소드를 사용하면 포맷 변경을 구현할 수 있다.
    • displaytype
      • text, mask, decoratetext, number, currency, combotext, date, checkbox control, button control, progressbar control, image control, none
      • 데이터 형태에 따라 여러 형태로 셀의 형태를 바꿀 수 있다.
      • decoratetext : 데이터 값에 tag 형식이 포함되어야한다
      • 각 displaytype 그룹에 바인드 된 데이터를 표시하기 위한 추가지정이 필요하다
      • 텍스트가 아닌 컨트롤 형태로 표시되는 display는 아이템에 control이 붙어서 표시된다
    • edittype: cell이 포커스를 받아 표시되는 편집 창의 형식을 설정하는 속성
    • tree
      • 해당 cell의 displaytype : treeitemcontrol, edittype : tree, celltreeitem - treelevel : 해당 컬럼 값 binding
      • properties - treeinitstatus : treeitem 전부 펼치기 (expand, all)
      • properties - treeusecheckbox : 체크박스 숨기기(false)
    • expandshow : cell 오른쪽에 확장버튼을 표시할지 설정
  • 그리드 편집 : expression

    • text - 세번째 버튼 클릭(set expression)
    • 사칙연산 : "FULL_NAME + EMPL_ID" 입력 -> 각 컬럼의 셀을 더한 값이 연산됨
    • 예약어 : "currow" 입력 -> cell text 값이 자동으로 0부터 1씩 증가 (1부터 시작하려면 "currow+1" 입력)
    • 삼항연산자 (A?B:C) A가 참일때 B를 실행 거짓일때 C를 실행 : "GENDER=="M"?"Male":"Female"" -> gender 컬럼에 대한 삼항연산 실행
    • dataset method
      • getRowCount : 그리드 편집 - 우클릭 addsummaryrow 추가 - 결과 값을 입력할 cell에서 set expression 클릭 - "comp.parent.ds_emp.getRowCount"
        • "comp" 현재 그리드를 의미
        • "parent" 그리드를 감싸고 있는 form 을 의미
        • "ds_emp" form에 있는 dataset에 접근
      • 바인딩 되어있는 dataset의 경우에는 comp.parent 대신 예약어 dataset 사용 "dataset.getRowCount"
    • function
      • form의 변수와 함수를 호출할 수 있다.
      • set expression - "comp.parent.fn_code(GENDER)"
        /* script */
        this.fn_code = function(GENDER)
        {
            if (GENDER == "M")
                return "Male";
            else
                return "Female";
        }
      • 함수의 수행시간이 길어지면 성능 저하가 일어나 권장하지 않는다.
    • nexacro api
      • set expression - "nexacro.round(34.873,2)" : nexacro api인 round를 사용해 34.873의 소숫점 두자리수까지만 출력된다
profile
백엔드 개발 공부

0개의 댓글