GridView
GridView 클래스, GridBase 의 자식 클래스이다.
상세 설명
[상위 클래스]
The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the GridView
class.
프로퍼티 정보
데이터 수정 이후 필터의 동작 모드
상세 설명
'explicit'
을 사용하면 필터링 된 데이터가 수정되었을 때 명시적으로 필터링을 수행해야 필터링이 된다.
예제 코드
gridView.filterMode = 'explicit';
컬럼 간 필터 조건을 or 로 할 것인지의 여부
상세 설명
true
로 지정하면 각 컬럼의 필터간 필터링이 or 조건으로 반영되어 표시된다.
예제 코드
gridView.filterOr = true;
그리드에 설정되어 있는 행 그룹핑에 관한 설정 정보들
상세 설명
GroupingOptions 객체를 반환한다. GroupingOptions 의 속성을 가져오거나 설정할 수 있다.
예제 코드
gridView.groupingOptions.linear = true;
그리드에 설정되어 있는 Group Panel 모델
상세 설명
GroupPanel 객체를 반환한다. GroupPanel 의 속성을 가져오거나 설정할 수 있다.
예제 코드
gridView.groupPanel.visible = true;
행 그룹핑된 컬럼의 합계를 계산하는 방식
상세 설명
값 할당으로 변경할 수 있다. SummaryMode 의 값으로 설정한다.
예제 코드
gridView.groupSummaryMode = 'aggregate';
그리드에 설정되어 있는 행 그룹 모델
상세 설명
RowGroup 객체를 반환한다. RowGroup 의 속성을 가져오거나 설정할 수 있다.
예제 코드
gridView.rowGroup.mergeMode = true;
메서드 정보
그리드에 인덱스로 입력된 데이터행 앞 또는 뒤에 새로운 데이터행을 생성한다.
매개변수
- itemIndex: number
기본값:
-1
, 기준 데이터 행. 이 행 앞에 새로운 데이터행을 생성한다. - shift: boolean
기본값:
false
,true
: 데이터 행 뒤에 생성
상세 설명
그리드가 편집상태이거나 데이터 건수가 없는 경우 추가되지 않는다. itemIndex를 입력하지 않으면 (-1이 입력되면), 이전에 실행된 beginInsertRow의 itemIndex 앞에 추가되거나 실행된적이 없으면 0번째 itemIndex앞에 추가된다. 0 이상의 값을 입력하면 데이터행 앞에 새로운 데이터행을 생성한다.
예제 코드
gridView.beginInsertRow();
입력된 인덱스에 해당하는 데이터 행을 편집상태로 변경한다.
매개변수
- itemIndex: number
행의 인덱스. 지정하지 않으면 focuse 행.
예제 코드
gridView.beginUpdateRow();
루트 그룹을 접는다.
매개변수
- recursive: boolean
기본값:
false
, 그룹에 포함된 자손 그룹의 접힘여부.true
일 때 그룹에 포함된 자손 그룹도 접힌 상태가 된다.
예제 코드
gridView.collapseAll();
지정한 그룹을 접는다(collapse).
매개변수
- itemIndex: number
해당 그룹의 그리드 상의 인덱스
- recursive: boolean
그룹에 포함된 자손 그룹의 접힘여부. true 일때 이미 collapsed 상태라면 아무일도 하지 않는다.
- force: boolean
기본값:
false
, 이미 collapsed 상태라도 recursive가 true일 때 자손들의 접힘여부.
상세 설명
지정한 아이템이 존재하지 않거나, 그룹이 아니라면 아무 일도 일어나지 않는다.
예제 코드
gridView.collapseGroup(2, true);
지정한 그룹의 부모를 접는다(collapse).
매개변수
- itemIndex: number
해당 그룹의 그리드 상의 인덱스
- recursive: boolean
부모 그룹에 포함된 자손 그룹의 접힘여부. true 일때 이미 collapsed 상태라면 아무일도 하지 않는다.
- force: boolean
기본값:
false
, 이미 collapsed 상태라도 recursive가 true일 때 부모 그룹의 자손들의 접힘여부
상세 설명
지정한 아이템 또는 그 부모가 존재하지 않거나, 그룹이 아니라면 아무 일도 일어나지 않는다.
예제 코드
gridView.collapseParent(2, true);
루트 그룹을 펼친다.
매개변수
- recursive: boolean
기본값:
false
, 그룹에 포함된 자손 그룹의 펼침여부. - level: number
기본값:
undefined
,undefined
: recursive가 true시 모든 자손 expand.
상세 설명
recursive가 true일 때 level을 지정하면 해당 level까지 펼친다.
예제 코드
gridView.expandAll();
지정한 그룹을 펼친다(expand).
매개변수
- itemIndex: number
해당 그룹의 그리드 상의 인덱스
- recursive: boolean
그룹에 포함된 자손 그룹의 펼침 여부
- force: boolean
기본값:
false
, 이미 expanded 상태라도 recursive가 true일 때 자손들의 펼침 여부 - level: number
기본값:
0
, 0일 때 recursive가 true면 모든 자손을 펼친다.
상세 설명
지정한 아이템이 존재하지 않거나, 그룹이 아니라면 아무 일도 일어나지 않는다. recursive가 true일 때 level을 지정하면 해당 level까지 펼친다.
예제 코드
gridView.expandGroup(2, true);
지정한 그룹의 부모를 펼친다.
매개변수
- itemIndex: number
해당 그룹의 그리드 상의 인덱스
- recursive: boolean
부모 그룹에 포함된 자손 그룹의 펼침여부
- force: boolean
기본값:
false
, 이미 expanded 상태라도 recursive가 true일 때 부모 그룹의 자손들의 펼침여부 - level: number
기본값:
0
, 0일 때 recursive가 true면 모든 자손 expand.
상세 설명
지정한 아이템 또는 그 부모가 존재하지 않거나, 그룹이 아니라면 아무 일도 일어나지 않는다. recursive가 true일 때 level을 지정하면 해당 level까지 펼친다.
예제 코드
gridView.expandParent(2, true);
체크된 아이템들의 목록을 배열로 반환한다.
매개변수
- rowOnly: boolean
기본값:
true
,true
: 행만 반환,false
: 그룹푸터 등 비데이터 영역도 반환
반환값
타입: number[]예제 코드
let checkedItems = gridView.getCheckedItems();
체크된 데이터 행들의 목록을 반환한다.
매개변수
- sort: boolean
기본값:
true
,true
: 오름차순으로 반환,false
: 화면에 보이는 순서대로 반환. - visibleOnly: boolean
기본값:
false
,true
로 입력하면 collapse 되거나 페이징시 보이지 않는 행들은 제외한다. - allRows: boolean
기본값:
false
,true
로 입력하면 페이징 처리시 보이지 않는 페이지들의 체크된 행들도 반환한다.
반환값
타입: number[]예제 코드
let checkedRows = gridView.getCheckedRows();
그룹핑 된 필드의 이름들을 반환한다.
매개변수
- orginal: boolean
기본값: true, true: 지정한 이름으로 반환, false: 대문자로 반환
반환값
타입: string[] | number[]필드들의 이름들. DataProvider가 연결되어 있지 않으면, 필드들의 인덱스들을 반환한다.
예제 코드
let GFieldNames = gridView.getGroupFieldNames();
그룹핑 된 필드의 인덱스들을 반환한다.
반환값
타입: number[]예제 코드
let GFields = gridView.getGroupFields();
자신이 속한 그룹의 인덱스를 반환한다.
매개변수
- itemIndex: number
그리드 상의 인덱스
반환값
타입: number그룹이 없거나, 그룹이 있을 경우 가장 첫 행의 결과는 -1
이다.
예제 코드
let GIndex = gridView.getGroupIndex(2);
그리드 행 그룹핑에 관한 설정 정보들을 반환한다.
예제 코드
let groupingOpts = gridView.getGroupingOptions();
groupingOpts.prompt = "I am Groop";
gridView.setGroupingOptions(groupingOpts);
지정한 필드의 그룹 level을 반환한다.
매개변수
- field: string | number
필드명 또는 인덱스
반환값
타입: number해당 필드로 그룹핑되지 않았다면 0
을 반환한다, 없는 필드명이 지정됐을 경우 -1
이 반환된다.
상세 설명
첫번째 그룹 레벨은 1이다.
예제 코드
let Glevel = gridView.getGroupLevel('field1');
현재 몇 level로 그룹핑되어 있는지를 반환한다.
반환값
타입: numbergroup level의 깊이
예제 코드
let Glevels = gridView.getGroupLevels();
그리드의 GroupPanel 을 반환한다.
반환값
타입: GroupPanel예제 코드
let groupPanel = gridView.getGroupPanel();
groupPanel.visible = false;
gridView.setGroupPanel(groupPanel);
GroupFooter의 expression 또는 valueCallback에서 결과값을 가져온다.
매개변수
- model: GridItem
아이템 모델 정보
- column: string | DataColumn
컬럼
- summaryIndex: number
summary의 index
반환값
타입: any | any[]- any
상세 설명
numberFormat, prefix등이 적용되지 않은 값이다. 선택된 footer가 여러개인경우 배열로 리턴된다.
매개변수
- itemIndex: number
그리드 행의 itemIndex
- column: string
column의 이름
- dataOnly: boolean
데이터행만 가져올지 여부 default
true
- force: boolean
true
이면 merge된 셀이 아니어도 입력된 itemIndex를 포함하는 배열로 return defaulttrue
반환값
타입: number[]merge된 셀의 itemIndex 배열
상세 설명
merge된 셀에 포함되는 itemIndex를 배열로 가져온다.
예제 코드
let mergeItems = gridView.getMergedItems(1, "column", true, true);
let mergeDataRows = gridView.getRowsOfItems(mergeItems);
그리드 옵션 정보를 반환한다.
상세 설명
GridBase.getOptions() 에 반환되는 모델에 grouping 속성이 추가되어 반환된다.
예제 코드
let options = gridView.getOptions();
Paging 모드에서 현재 페이지 번호를 반환한다.
반환값
타입: number예제 코드
let currPage = gridView.getPaging();
Paging 모드일 때 전체 페이지 개수를 반환한다.
반환값
타입: number예제 코드
let pageCount = gridView.getPageCount();
행이 위치한 페이지를 찾는다.
매개변수
- dataRow: number
찾을려고 하는 행의 dataRow
반환값
타입: number행이 위치한 페이지번호 찾지 못하는 경우 -1
을 return한다.
지정한 필드 목록에 포함된 순서대로 또는 데이터 정렬 후 순서대로 행 그룹핑을 실행한다.
매개변수
- fieldNames: string[]
필드 이름 목록. 그룹을 해제하려는 경우 빈 배열을 입력해야 한다.
- sorting: boolean
정렬 여부
- sortDir: SortDirection
예제 코드
// 그룹 설정
gridView.groupBy(["field1", "field2"]);
// 그룹 해제
gridView.groupBy([]);
그리드가 그룹핑되어 있는지 여부를 반환한다.
반환값
타입: boolean예제 코드
let isGrouped = gridView.isGrouped();
지정한 인덱스가 그룹 아이템인지의 여부를 반환한다.
매개변수
- itemIndex: number
그리드 상의 인덱스
반환값
타입: boolean예제 코드
let isGroupItem = gridView.isGroupItem(4);
그리드가 mergeMode로 되어 있는지 여부를 반환한다.
반환값
타입: boolean그리드의 RowGroup.mergeMode 의 설정값
예제 코드
let isMergedGrouped = gridView.isMergedGrouped();
지정한 인덱스의 부모의 표시 여부를 반환한다.
매개변수
- itemIndex: number
그리드 상의 인덱스
반환값
타입: boolean해당 아이템이 존재하지 않거나, 해당 아이템의 부모가 존재하지 않으면 false
를 반환한다.
예제 코드
let isParentVis = gridView.isParentVisible(2);
그룹Layout의 expandable이 설정된 경우 그룹Layout을 접는다.
매개변수
- recursive: boolean
하위 그룹이 있는 경우 하위 그룹도 접는다.
그룹Layout의 expandable이 설정된 경우 그룹Layout을 펼친다.
매개변수
- recursive: boolean
하위 그룹이 있는 경우 하위 그룹도 펼친다.
그리드 행 그룹핑에 관한 설정을 한다.
매개변수
- value: GroupingOptions
설정하고자 하는 정보. GroupingOptions 와 동일한 모델이다.
예제 코드
gridView.setGroupingOptions({prompt: "I am Groop"});
그리드 GroupPanel 을 설정한다.
매개변수
- value: GroupPanel
GroupPanel 과 같은 정보. 변경하고자 하는 속성만 전달하면 된다.
예제 코드
gridView.setGroupPanel({visible: false});
그리드 옵션 정보를 재설정한다.
매개변수
- options: ViewOptions
설정 정보. GridBase의 setOptions()의 value 와 동일한 모델에서 grouping 속성이 추가되었다.
let options = { summaryMode: 'aggregate', displayOptions: { columnResizable : false }, grouping: { prompt: 'I am Groop' } }; gridView.setOptions(options);
상세 설명
그리드 수준의 정보만을 반환하는 getOptions 와 달리 이 method를 통해 하위 구성 요소 및 다른 실행 정보들을 동시에 재설정할 수 있다.
Paging 모드일 때 표시할 페이지를 지정한다.
매개변수
- page: number
페이지 번호
- startItem: number
기본값:
-1
, 이 페이지에 표시할 첫번째 행의 인덱스. -1이면 setPaging 에 지정한 페이지 크기에 따라 결정된다.
예제 코드
gridView.setPage(4);
Paging 개수를 변경한다.
매개변수
- count: number
새 페이지 개수
예제 코드
gridView.setPageCount(20);
그리드가 Paging 모드로 실행된다.
매개변수
- paging: boolean
true 시 페이징 모드
- size: number
기본값:
10
, 한 페이지에 표시할 행의 개수 - maxCount: number
기본값:
-1
, 최대 페이지 개수
예제 코드
gridView.setPaging(true);
그리드의 RowGroup 을 설정한다.
매개변수
- value: RowGroup | ConfigObject
RowGroup 모델과 같은 설정정보. 변경하고자 하는 속성만 전달하면 된다.
예제 코드
gridView.setRowGroup({levelIndent: false});
콜백 정보
그룹핑 된 행이 접힘을 알리는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
itemIndex
- 접힌 그룹 아이템의 itemIndex
기본 값
null
예제 코드
gridView.onCollapsed = function(grid, itemIndex) {
console.log('Collapsed at: ' + itemIndex)
};
그룹핑 된 행 접기를 결정하는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
itemIndex
- 접을 그룹 아이템의 itemIndex
예제 코드
gridView.onCollapsing = function(grid, itemIndex) {
if (itemIndex % 2 === 0) {
return false;
}
};
그룹핑 된 행이 펼쳐졌음을 알리는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
itemIndex
- 펼친 그룹 아이템의 id
기본 값
null
예제 코드
gridView.onExpanded = function(grid, itemIndex) {
console.log('Expanded at: ' + itemIndex)
};
그룹핑 된 행 펼치기를 결정하는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
itemIndex
- 펼칠 그룹 아이템의 itemIndex
기본 값
null
예제 코드
gridView.onExpanding = function(grid, itemIndex) {
if (itemIndex % 2 === 0) {
return false;
}
};
그룹핑했음을 알리는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
기본 값
null
예제 코드
gridView.onGrouped = function(grid) {
console.log("I am Grouped!");
};
그룹핑을 결정하는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
fields
- 그룹핑되는 필드의 인덱스들
[반환값] - 그룹핑 실행 여부. false를 반환하면 그룹핑은 취소된다.
기본 값
null
예제 코드
gridView.onGrouping = function(grid, fields) {
alert("onGrouping 이벤트가 발생했습니다. false를 반환합니다.");
return false;
};
그리드가 Paging 상태일 때, 다른 페이지로 이동했음을 알리는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
page
- 새로 이동한 페이지 인덱스
기본 값
null
예제 코드
gridView.onPageChanged = function(grid, page) {
if(page % 2 === 0) {
console.log('even number changed!')
}
};
그리드가 Paging 상태일 때, 페이지 이동을 결정하는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
page
- 새로 이동하게 될 페이지 인덱스
[반환값] - false를 반환하면 페이지 이동이 취소된다.
기본 값
null
예제 코드
gridView.onPageChanging = function(grid, page) {
if(page % 2 === 0) {
return true;
}
return false;
};
그리드가 Paging 상태일 때, 변경된 페이지 수와 함께 다른 페이지로 이동했음을 알리는 콜백
상세 설명
[매개변수 목록]
grid
- GridView 컨트롤
pageCount
- 변경된 페이지 수
기본 값
null
예제 코드
gridView.onPageCountChanged = function(grid, pageCount) {
console.log('pageCount: ' + pageCount);
};