본문 바로가기

Learn

컬럼정보를 사용하여 그리드 그룹핑을 예쁘게 해보자

Intro.

Dataset 컴포넌트는 데이터를 담는 객체로 Column(열)과 Row(행)로 이루어진 이차원 배열 형태의 데이터 저장소입니다. 그 중 Column의 정보를 담고 있는 ColumnInfo와 그 활용방법에 대하여 다루고자 합니다.

 

What will help?

ColumnInfo는 Dataset 컴포넌트의 Column 정보를 갖는 오브젝트로 addColumnInfo / getColumnInfo 메소드로 정보를 추가하거나 반환받을 수 있습니다.

또한 고유의 값인 id(name)을 제외한 ColumnInfo의 모든 속성은 동적으로 편집 할 수 있습니다.

속성명

설명

사용정보

name

ColumnInfo 의 이름을 갖는 읽기전용 속성

Column 생성 시 지정

type

DataSet 의 Column 에 저장되는 데이터의 형식을 설정하는 속성

STRING : 문자열 (기본값) 

INT : 정수형

FLOAT : 실수형

BIGDECIMAL : 실수형/24자리 표현

DATE : 날짜

TIME : 시간

DATETIME : 일시/날짜+시간

BLOB : 바이너리 데이터(nexacro 브라우저 전용)

size

DataSet 의 Column 에 저장할 수 있는 데이터의 최대길이를 설정하는 속성

숫자 설정

prop

keystring 속성에 의해 그룹핑되면 생성되는 논리적 레코드에 표시될 값의 유형을 설정하는 속성

NONE : (문자) 표시하지 않음

             (숫자) 그룹의 합계

             (날짜)  “0000-01-01”

AVG : 그룹의 평균

COUNT : 그룹의 Row 갯수

MAX : 그룹의 최대값

MIN : 그룹의 최소값

SUM : 그룹의 합계

TEXT : sumtext 속성값 표시

sumtext

Column 의 prop 속성값이 "TEXT" 일 때 논리적 레코드의 해당 컬럼에 표시되는 값을 설정하는 속성

문자열 설정

ColumnInfo 속성 표

여기서 prop 속성 값은 숫자나 날짜타입의 경우 사용할 수 있습니다.

단, 날짜의 경우 계산식이 명확한 MAX, MIN과 같은 일부만 사용할 수 있습니다.

 

How to use Dataset ColumnInfo?

Dataset 컴포넌트는 Dataset Editor 편집창을 사용하여 적용 할 수 있습니다.

 

Dataset ColumnInfo 및 keyString 적용 화면

하지만 동적으로 생성할 때는 아래와 같이 컬럼 정보를 입력하기 위한 addColumn 메소드를 사용합니다.

Dataset.addColumn( strColID, strColType [,nColSize] );

조금 더 자세히 정보를 추가 하기 위해서는 다음과 같이 사용할 수 있습니다.

var objColinfo = new ColumnInfo() ;
objColinfo.set_type( "String" );
objColinfo.set_size( 5 );

ColumnInfo에서 prop나 sumtext 속성은 Dataset 컴포넌트의 그룹핑을 위하여 사용됩니다.

Dataset의 그룹핑은 keystring 속성으로 사용 할 수 있으며 적용방법은 다음과 같습니다.

Dataset.set_keystring(“G:컬럼명1,컬럼명2,...”);

 

그룹핑 사용 예시 화면

다음은 ColumnInfo 정보와 Dataset의 그룹핑을 사용한 화면 적용 결과 입니다.

Dataset ColumnInfo 및 keyString 적용 화면

다음과 같이 ColumnInfo의 prop와 sumtext를 지정해줍니다.

prop속성이 text로 된 Column은 sumtext로 입력된 결과 값을 임의로 지정할 수 있습니다.

keyString으로 그룹핑을 적용한 화면 예시

오른쪽 Grid는 시대와 업적을 순서대로 그룹핑 하여 적용한 결과 입니다.

금액은 그룹핑 된 값의 평균을 나타내고, 날짜는 MAX로 적용하여 가장 최근의 날짜가 입력됩니다.

또한 주소는 subtext에 입력된 'address'라는 텍스트가 입력됩니다.

그 외 컬럼의 경우 text가 지정되지 않아 문자가 표시되지 않습니다.

 

플레이넥사크로 바로가기

https://www.playnexacro.com/

 

play nexacro

A community of nexacro platform.

www.playnexacro.com