[NexacroN] Grid 다루기2
Summary에 총계 표시하기그리드 데이터의 총 갯수를 표시하기 위해서는 Dataset의 메소드인 getRowCount를 사용하면 된다. Cell의 expr에 dataset.getRowCount() 를 넣으면 총계가 표현된다.getRowCount(): 필터링되
sun-note.tistory.com
지난 Grid 다루기2에서 Summary에 총계 표시하기에 이어서
이번 Grid 다루기3에서는 Summary의 연산값을 나타낼 때 만났던 문제에 대해서 작성했다!
그리드의 Summary 중 합계를 나타내고 싶을 때는 Dataset의 getSum 메소드를 사용하면 된다.
💡getSum
필터링 되어 보이지 않는 ROW를 제외한 범위에서 지정한 영역의 column 값 또는 계산값의 합계값을 반환하는 메소드
❗데이터 타입이 INT, FLOAT, BIGDECIMAL 인 경우만 합계값을 구할 수 있다.
아래 그림처럼 summary에서 합계를 나타낼 PRICD 컬럼의 타입을 FLOAT로 주었다.
그런데 값이 있음에도 불구하고 summay 쪽에는 계속 '0'으로 출력되고 있었다...😕
oncellclick 이벤트를 이용해서 PRICE 컬럼의 데이터타입을 찍어봤다.
this.grdDetail_oncellclick = function(obj:nexacro.Grid,e:nexacro.GridClickEventInfo)
{
var sText = obj.getCellProperty("BODY", e.cell, "text");
var target = sText.split((":"));
this.gfn_trace(this.dsProduct.getColumnInfo(target[1]).type);
};
string...?!🫨🫨
분명 FLOAT인데 string...?
폭풍 검색 후 드디어 찾았다!!
💡useclientlayout
트랜잭션을 수행하여 수신된 Dataset의 Column Layout을 적용할 지 설정하는 속성
- true : Dataset에 정의된 레이아웃을 유지하고 수신된 데이터만 로드
- false : 서버로부터 수신된 DataSet의 레이아웃과 데이터를 모두 로드
useclientlayout 속성을 TRUE로 설정하면 직접 만들어둔 데이터셋의 컬럼만 값이 들어오고
FALSE로 설정하게 되면 데이터셋의 컬럼들을 미리 설정해두지 않아도 서버에서 조회한 컬럼들이 자동으로 생성된다.
확인해보니 이 속성이 false로 되어있었고 그렇다보니 서버에서 데이터셋에 설정해놓은 FLOAT 타입이 아무 의미 없었던 것이다.
TRUE로 변경하고 시도해보니 getSum이 아주 잘됐다.😁😁
[출처]
'넥사크로' 카테고리의 다른 글
[NexacroN] Grid 다루기2 (0) | 2024.12.27 |
---|---|
[NexacroN] Grid 다루기 (0) | 2024.09.30 |
[NexacroN] rowType 직접 바꾸기 (0) | 2024.07.24 |