====== 그리드 통계행 가이드 ======
그리드 컴포넌트의 통계행에 대한 기본 기능 예시 화면이다.
통계행은 그리드 내부 데이터를 기준으로 그리드 컴포넌트에서 자동으로 통계 데이터를 계산하여 표시하는 기능을 제공한다.
통계행 관련 속성으로 statistics_row, statistics_row_pos, statistics_row_show가 있다.
통계행 관련 API로 getstatrowcount, getstatisticsrowtext, getstatisticsrowshow, setstatisticsrowshow가 있다.
통계 데이터 계산 방식은 statistics_row 속성의 통계 유형(operation 속성)을 기준으로 계산된다.
===== 예시 =====
템플릿 위치: /HTML5/COMPONENT/GRID/grid_statrow_basic
템플릿 파일
* [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_statrow_basic.xml|grid_statrow_basic.xml]]
* [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_statrow_basic.js|grid_statrow_basic.js]]
* [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/COMPONENT/GRID/grid_statrow_basic|새창으로 실행]]
echo '';
echo '';
echo '';
==== 화면 스크립트 ====
function btn_rowcount_on_mouseup(objInst)
{
// 행의 갯수를 구함
screen.alert("통계행 갯수: " + grdList.getstatrowcount());
}
function btn_itemloop_on_mouseup(objInst)
{
var row, column, row_count, column_count, row_data_arr, column_data_arr;
// 통계행/열의 갯수를 구함
row_count = grdList.getstatrowcount();
column_count = grdList.getcolumncount();
row_data_arr = [];
// 통계행 Loop
for (row = 0; row < row_count; row++) {
column_data_arr = [];
// 데이터 컬럼 Loop
for (column = 0; column < column_count; column++) {
// 통계행 특정 아이템의 값을 구해서 통계행별 데이터 배열에 추가
column_data_arr.push(grdList.getstatisticsrowtext(row, column));
}
// 배열에 있는 데이터를 콤마를 구분하여 붙여서 배열에 추가
row_data_arr.push(row + "행 데이터: " + column_data_arr.join(","));
}
screen.alert(row_data_arr.join("\n"));
}
function btn_statisticsrowshow_on_mouseup(objInst)
{
// 그리드 statistics_row_show 속성 토글 처리
grdList.setstatisticsrowshow(!grdList.getstatisticsrowshow());
}
function btn_columnstatisticsshow_on_click(objInst)
{
var statistics_show;
// 그리드 2번째 컬럼 데이터부 statistics_show 속성 토글 처리
statistics_show = grdList.getcolumnstatisticsshow(2);
// statistics_show 값 토글 처리를 그리드에 설정
statistics_show = !statistics_show;
grdList.setcolumnstatisticsshow(2, statistics_show);
// statistics_show 값을 기준으로 헤더부 텍스트 변경
if (statistics_show) {
grdList.setheadertext(0, 2, "통계 포함 (statistics_show - true)");
}
else {
grdList.setheadertext(0, 2, "통계 제외 (statistics_show - false)");
}
}