데이터 그룹(Group)
setGroup(그룹핑) 지정된 컬럼 기준 정렬
function createQCELL(){
qcellProperty = {
id : 'qcell',
parentid : 'sheetarea',
rowheight : {'header': 40,'data' : 30},
data : {'input': sampleData1},
merge : {header :"rowandcol"},
columns : [
{key: 'region', width: '10%', title: ['기본정보','지역']}
, {key: 'category',width:'5%', title: ['기본정보','구분'], sort: true, styleclassname: {'data': 'align-center'} }
, {key: 'name', width: '12%', title: ['기본정보','휴양림명'], type: "input", sort: true, styleclassname: {'data': 'align-left'}}
.
.
.
]
};
QCELL.create(qcellProperty);
qcell = QCELL.getInstance("qcell");
qcell.bind("beforesort", clearGroup); //그룹화(Groupping)를 해제하는 API가 포함된 함수를 정렬 기능 수행 전에 동작하는 beforesort 이벤트 발생하도록 설정
qcell.bind("aftersort", group); //그룹화하는 API가 포함된 함수를 정렬 기능 수행 후에 동작하는 aftersort 이벤트 발생하도록 설정
}
function clearGroup(){
qcell.clearGroup(); //그룹화(Groupping)를 해제하는 API
}
function group(){
qcell.setGroup({ //그룹화
type: "normal",
sort : "asc",
columns: [
{
key: 'category',
expand: true,
}
],
outer: [
{
header: {
"name": ["count()", "개"],
"area" : ["sum()", " m2"],
"capacity": ["average()", "명"],
.
.
.
},
footer: {
"name": ["count()", "개"],
"area" : ["count()", " m2"],
"capacity": ["count()", "명"],
.
.
.
},
}
]
});
}
정렬하기 전에 그룹을 해제하는 clearGroup(그룹화를 해제하는 API)을 수행하고, 정렬 후에 setGroup을 다시 실행합니다.총계는 전체 행에 대한 것으로 outer로 정의하며, 상단에 표시하려면 header에, 하단에 표시하려면 footer에 정의합니다.
둘 다 사용할 수 있으며, 틀 고정과 함께 사용하는 것이 좋습니다.
'지정된 컬럼(key)의 asc : 오름차순'
'지정된 컬럼(key)의 desc : 내림차순'