GridView

GridView 클래스, GridBase 의 자식 클래스이다.

상세 설명

[상위 클래스]

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.

프로퍼티 정보

filterMode


filterMode: FilterMode

데이터 수정 이후 필터의 동작 모드

상세 설명

'explicit' 을 사용하면 필터링 된 데이터가 수정되었을 때 명시적으로 필터링을 수행해야 필터링이 된다.

예제 코드

gridView.filterMode = 'explicit';

filterOr


filterOr: boolean

컬럼 간 필터 조건을 or 로 할 것인지의 여부

상세 설명

true 로 지정하면 각 컬럼의 필터간 필터링이 or 조건으로 반영되어 표시된다.

예제 코드

gridView.filterOr = true;

groupingOptions


groupingOptions: GroupingOptions

그리드에 설정되어 있는 행 그룹핑에 관한 설정 정보들

상세 설명

GroupingOptions 객체를 반환한다. GroupingOptions 의 속성을 가져오거나 설정할 수 있다.

예제 코드

gridView.groupingOptions.linear = true;

groupPanel


groupPanel: GroupPanel

그리드에 설정되어 있는 Group Panel 모델

상세 설명

GroupPanel 객체를 반환한다. GroupPanel 의 속성을 가져오거나 설정할 수 있다.

예제 코드

gridView.groupPanel.visible = true;

groupSummaryMode


groupSummaryMode: SummaryMode

행 그룹핑된 컬럼의 합계를 계산하는 방식

상세 설명

값 할당으로 변경할 수 있다. SummaryMode 의 값으로 설정한다.

예제 코드

gridView.groupSummaryMode = 'aggregate';

rowGroup


rowGroup: RowGroup

그리드에 설정되어 있는 행 그룹 모델

상세 설명

RowGroup 객체를 반환한다. RowGroup 의 속성을 가져오거나 설정할 수 있다.

예제 코드

gridView.rowGroup.mergeMode = true;

메서드 정보

beginAppendRow


beginAppendRow():void

그리드 마지막 데이터행 이후에 새로운 데이터행을 추가한다.

예제 코드

gridView.beginAppendRow();

beginInsertRow


beginInsertRow(itemIndex:number,shift:boolean):void

그리드에 인덱스로 입력된 데이터행 앞 또는 뒤에 새로운 데이터행을 생성한다.

매개변수

  • itemIndex: number

    기본값: -1, 기준 데이터 행. 이 행 앞에 새로운 데이터행을 생성한다.

  • shift: boolean

    기본값: false, true: 데이터 행 뒤에 생성

상세 설명

그리드가 편집상태이거나 데이터 건수가 없는 경우 추가되지 않는다. itemIndex를 입력하지 않으면 (-1이 입력되면), 이전에 실행된 beginInsertRow의 itemIndex 앞에 추가되거나 실행된적이 없으면 0번째 itemIndex앞에 추가된다. 0 이상의 값을 입력하면 데이터행 앞에 새로운 데이터행을 생성한다.

예제 코드

gridView.beginInsertRow();

beginUpdateRow


beginUpdateRow(itemIndex:number):void

입력된 인덱스에 해당하는 데이터 행을 편집상태로 변경한다.

매개변수

  • itemIndex: number

    행의 인덱스. 지정하지 않으면 focuse 행.

예제 코드

gridView.beginUpdateRow();

collapseAll


collapseAll(recursive:boolean):void

루트 그룹을 접는다.

매개변수

  • recursive: boolean

    기본값: false, 그룹에 포함된 자손 그룹의 접힘여부. true일 때 그룹에 포함된 자손 그룹도 접힌 상태가 된다.

예제 코드

gridView.collapseAll();

collapseGroup


collapseGroup(itemIndex:number,recursive:boolean,force:boolean):void

지정한 그룹을 접는다(collapse).

매개변수

  • itemIndex: number

    해당 그룹의 그리드 상의 인덱스

  • recursive: boolean

    그룹에 포함된 자손 그룹의 접힘여부. true 일때 이미 collapsed 상태라면 아무일도 하지 않는다.

  • force: boolean

    기본값: false, 이미 collapsed 상태라도 recursive가 true일 때 자손들의 접힘여부.

상세 설명

지정한 아이템이 존재하지 않거나, 그룹이 아니라면 아무 일도 일어나지 않는다.

예제 코드

gridView.collapseGroup(2, true);

collapseParent


collapseParent(itemIndex:number,recursive:boolean,force:boolean):void

지정한 그룹의 부모를 접는다(collapse).

매개변수

  • itemIndex: number

    해당 그룹의 그리드 상의 인덱스

  • recursive: boolean

    부모 그룹에 포함된 자손 그룹의 접힘여부. true 일때 이미 collapsed 상태라면 아무일도 하지 않는다.

  • force: boolean

    기본값: false, 이미 collapsed 상태라도 recursive가 true일 때 부모 그룹의 자손들의 접힘여부

상세 설명

지정한 아이템 또는 그 부모가 존재하지 않거나, 그룹이 아니라면 아무 일도 일어나지 않는다.

예제 코드

gridView.collapseParent(2, true);

expandAll


expandAll(recursive:boolean,level:number):void

루트 그룹을 펼친다.

매개변수

  • recursive: boolean

    기본값: false, 그룹에 포함된 자손 그룹의 펼침여부.

  • level: number

    기본값: undefined, undefined: recursive가 true시 모든 자손 expand.

상세 설명

recursive가 true일 때 level을 지정하면 해당 level까지 펼친다.

예제 코드

gridView.expandAll();

expandGroup


expandGroup(itemIndex:number,recursive:boolean,force:boolean,level:number):void

지정한 그룹을 펼친다(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);

expandParent


expandParent(itemIndex:number,recursive:boolean,force:boolean,level:number):void

지정한 그룹의 부모를 펼친다.

매개변수

  • 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);

getCheckedItems


getCheckedItems(rowOnly:boolean):number[]

체크된 아이템들의 목록을 배열로 반환한다.

매개변수

  • rowOnly: boolean

    기본값: true, true: 행만 반환, false: 그룹푸터 등 비데이터 영역도 반환

반환값

타입: number[]

예제 코드

let checkedItems = gridView.getCheckedItems();

getCheckedRows


getCheckedRows(sort:boolean,visibleOnly:boolean,allRows:boolean):number[]

체크된 데이터 행들의 목록을 반환한다.

매개변수

  • sort: boolean

    기본값: true, true: 오름차순으로 반환, false: 화면에 보이는 순서대로 반환.

  • visibleOnly: boolean

    기본값: false, true로 입력하면 collapse 되거나 페이징시 보이지 않는 행들은 제외한다.

  • allRows: boolean

    기본값: false, true로 입력하면 페이징 처리시 보이지 않는 페이지들의 체크된 행들도 반환한다.

반환값

타입: number[]

예제 코드

let checkedRows = gridView.getCheckedRows();

getGroupFieldNames


getGroupFieldNames(orginal:boolean):string[] | number[]

그룹핑 된 필드의 이름들을 반환한다.

매개변수

  • orginal: boolean

    기본값: true, true: 지정한 이름으로 반환, false: 대문자로 반환

반환값

타입: string[] | number[]

필드들의 이름들. DataProvider가 연결되어 있지 않으면, 필드들의 인덱스들을 반환한다.

예제 코드

let GFieldNames = gridView.getGroupFieldNames();

getGroupFields


getGroupFields():number[]

그룹핑 된 필드의 인덱스들을 반환한다.

반환값

타입: number[]

예제 코드

let GFields = gridView.getGroupFields();

getGroupIndex


getGroupIndex(itemIndex:number):number

자신이 속한 그룹의 인덱스를 반환한다.

매개변수

  • itemIndex: number

    그리드 상의 인덱스

반환값

타입: number

그룹이 없거나, 그룹이 있을 경우 가장 첫 행의 결과는 -1이다.

예제 코드

let GIndex = gridView.getGroupIndex(2);

getGroupingOptions


getGroupingOptions():GroupingOptions

그리드 행 그룹핑에 관한 설정 정보들을 반환한다.

반환값

타입: GroupingOptions

-GroupingOptions 와 동일한 모델이다.

예제 코드

let groupingOpts = gridView.getGroupingOptions();
groupingOpts.prompt = "I am Groop";
gridView.setGroupingOptions(groupingOpts);

getGroupLevel


getGroupLevel(field:string | number):number

지정한 필드의 그룹 level을 반환한다.

매개변수

  • field: string | number

    필드명 또는 인덱스

반환값

타입: number

해당 필드로 그룹핑되지 않았다면 0을 반환한다, 없는 필드명이 지정됐을 경우 -1이 반환된다.

상세 설명

첫번째 그룹 레벨은 1이다.

예제 코드

let Glevel = gridView.getGroupLevel('field1');

getGroupLevels


getGroupLevels():number

현재 몇 level로 그룹핑되어 있는지를 반환한다.

반환값

타입: number

group level의 깊이

예제 코드

let Glevels = gridView.getGroupLevels();

getGroupPanel


getGroupPanel():GroupPanel

그리드의 GroupPanel 을 반환한다.

반환값

타입: GroupPanel

예제 코드

let groupPanel = gridView.getGroupPanel();
groupPanel.visible = false;
gridView.setGroupPanel(groupPanel);

getGroupSummaryValue


getGroupSummaryValue(model:GridItem,column:string | DataColumn,summaryIndex:number):any | any[]

GroupFooter의 expression 또는 valueCallback에서 결과값을 가져온다.

매개변수

  • model: GridItem

    아이템 모델 정보

  • column: string | DataColumn

    컬럼

  • summaryIndex: number

    summary의 index

반환값

타입: any | any[]

- any

상세 설명

numberFormat, prefix등이 적용되지 않은 값이다. 선택된 footer가 여러개인경우 배열로 리턴된다.

getMergedItems


getMergedItems(itemIndex:number,column:string,dataOnly:boolean,force:boolean):number[]

매개변수

  • itemIndex: number

    그리드 행의 itemIndex

  • column: string

    column의 이름

  • dataOnly: boolean

    데이터행만 가져올지 여부 default true

  • force: boolean

    true이면 merge된 셀이 아니어도 입력된 itemIndex를 포함하는 배열로 return default true

반환값

타입: number[]

merge된 셀의 itemIndex 배열

상세 설명

merge된 셀에 포함되는 itemIndex를 배열로 가져온다.

예제 코드

let mergeItems = gridView.getMergedItems(1, "column", true, true);
let mergeDataRows = gridView.getRowsOfItems(mergeItems);

getOptions


getOptions():ViewOptions

그리드 옵션 정보를 반환한다.

반환값

타입: ViewOptions

- setOptions() 와 다르게 GridOptions 에서 선언된 그리드 수준의 정보만을 반환한다.

상세 설명

GridBase.getOptions() 에 반환되는 모델에 grouping 속성이 추가되어 반환된다.

예제 코드

let options = gridView.getOptions();

getPage


getPage():number

Paging 모드에서 현재 페이지 번호를 반환한다.

반환값

타입: number

예제 코드

let currPage = gridView.getPaging();

getPageCount


getPageCount():number

Paging 모드일 때 전체 페이지 개수를 반환한다.

반환값

타입: number

예제 코드

let pageCount = gridView.getPageCount();

getPageOfDataRow


getPageOfDataRow(dataRow:number):number

행이 위치한 페이지를 찾는다.

매개변수

  • dataRow: number

    찾을려고 하는 행의 dataRow

반환값

타입: number

행이 위치한 페이지번호 찾지 못하는 경우 -1을 return한다.

getRowGroup


getRowGroup():RowGroup

그리드의 RowGroup 을 반환한다.

반환값

타입: RowGroup

예제 코드

let rowGroup = gridView.getRowGroup();
rowGroup.levelIndent = false;
gridView.setRowGroup(rowGroup);

groupBy


groupBy(fieldNames:string[],sorting:boolean,sortDir:SortDirection):void

지정한 필드 목록에 포함된 순서대로 또는 데이터 정렬 후 순서대로 행 그룹핑을 실행한다.

매개변수

  • fieldNames: string[]

    필드 이름 목록. 그룹을 해제하려는 경우 빈 배열을 입력해야 한다.

  • sorting: boolean

    정렬 여부

  • sortDir: SortDirection

예제 코드

// 그룹 설정
gridView.groupBy(["field1", "field2"]);

// 그룹 해제
gridView.groupBy([]);

isGrouped


isGrouped():boolean

그리드가 그룹핑되어 있는지 여부를 반환한다.

반환값

타입: boolean

예제 코드

let isGrouped = gridView.isGrouped();

isGroupItem


isGroupItem(itemIndex:number):boolean

지정한 인덱스가 그룹 아이템인지의 여부를 반환한다.

매개변수

  • itemIndex: number

    그리드 상의 인덱스

반환값

타입: boolean

예제 코드

let isGroupItem = gridView.isGroupItem(4);

isMergedGrouped


isMergedGrouped():boolean

그리드가 mergeMode로 되어 있는지 여부를 반환한다.

반환값

타입: boolean

그리드의 RowGroup.mergeMode 의 설정값

예제 코드

let isMergedGrouped = gridView.isMergedGrouped();

isParentVisible


isParentVisible(itemIndex:number):boolean

지정한 인덱스의 부모의 표시 여부를 반환한다.

매개변수

  • itemIndex: number

    그리드 상의 인덱스

반환값

타입: boolean

해당 아이템이 존재하지 않거나, 해당 아이템의 부모가 존재하지 않으면 false를 반환한다.

예제 코드

let isParentVis = gridView.isParentVisible(2);

layoutCollapseAll


layoutCollapseAll(recursive:boolean):void

그룹Layout의 expandable이 설정된 경우 그룹Layout을 접는다.

매개변수

  • recursive: boolean

    하위 그룹이 있는 경우 하위 그룹도 접는다.

layoutExpandAll


layoutExpandAll(recursive:boolean):void

그룹Layout의 expandable이 설정된 경우 그룹Layout을 펼친다.

매개변수

  • recursive: boolean

    하위 그룹이 있는 경우 하위 그룹도 펼친다.

setGroupingOptions


setGroupingOptions(value:GroupingOptions):void

그리드 행 그룹핑에 관한 설정을 한다.

매개변수

예제 코드

gridView.setGroupingOptions({prompt: "I am Groop"});

setGroupPanel


setGroupPanel(value:GroupPanel):void

그리드 GroupPanel 을 설정한다.

매개변수

  • value: GroupPanel

    GroupPanel 과 같은 정보. 변경하고자 하는 속성만 전달하면 된다.

예제 코드

gridView.setGroupPanel({visible: false});

setOptions


setOptions(options:ViewOptions):void

그리드 옵션 정보를 재설정한다.

매개변수

  • options: ViewOptions

    설정 정보. GridBase의 setOptions()의 value 와 동일한 모델에서 grouping 속성이 추가되었다.

    let options =  {
        summaryMode: 'aggregate',
        displayOptions: {
            columnResizable : false
        },
        grouping: {
            prompt: 'I am Groop'
        }
    };
    gridView.setOptions(options);
    

상세 설명

그리드 수준의 정보만을 반환하는 getOptions 와 달리 이 method를 통해 하위 구성 요소 및 다른 실행 정보들을 동시에 재설정할 수 있다.

setPage


setPage(page:number,startItem:number):void

Paging 모드일 때 표시할 페이지를 지정한다.

매개변수

  • page: number

    페이지 번호

  • startItem: number

    기본값: -1, 이 페이지에 표시할 첫번째 행의 인덱스. -1이면 setPaging 에 지정한 페이지 크기에 따라 결정된다.

예제 코드

gridView.setPage(4);

setPageCount


setPageCount(count:number):void

Paging 개수를 변경한다.

매개변수

  • count: number

    새 페이지 개수

예제 코드

gridView.setPageCount(20);

setPaging


setPaging(paging:boolean,size:number,maxCount:number):void

그리드가 Paging 모드로 실행된다.

매개변수

  • paging: boolean

    true 시 페이징 모드

  • size: number

    기본값: 10, 한 페이지에 표시할 행의 개수

  • maxCount: number

    기본값: -1, 최대 페이지 개수

예제 코드

gridView.setPaging(true);

setRowGroup


setRowGroup(value:RowGroup | ConfigObject):void

그리드의 RowGroup 을 설정한다.

매개변수

예제 코드

gridView.setRowGroup({levelIndent: false});

콜백 정보

onCollapsed


onCollapsed: (grid: GridView, itemIndex: number) => void

그룹핑 된 행이 접힘을 알리는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

itemIndex - 접힌 그룹 아이템의 itemIndex

기본 값

null

예제 코드

gridView.onCollapsed = function(grid, itemIndex) {
     console.log('Collapsed at: ' + itemIndex)
};

onCollapsing


onCollapsing: (grid: GridView, itemIndex: number) => boolean

그룹핑 된 행 접기를 결정하는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

itemIndex - 접을 그룹 아이템의 itemIndex

예제 코드

gridView.onCollapsing = function(grid, itemIndex) {
     if (itemIndex % 2 === 0) {
         return false;
     }
};

onExpanded


onExpanded: (grid: GridView, itemIndex: number) => void

그룹핑 된 행이 펼쳐졌음을 알리는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

itemIndex - 펼친 그룹 아이템의 id

기본 값

null

예제 코드

gridView.onExpanded = function(grid, itemIndex) {
     console.log('Expanded at: ' + itemIndex)
};

onExpanding


onExpanding: (grid: GridView, itemIndex: number) => boolean

그룹핑 된 행 펼치기를 결정하는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

itemIndex - 펼칠 그룹 아이템의 itemIndex

기본 값

null

예제 코드

gridView.onExpanding = function(grid, itemIndex) {
     if (itemIndex % 2 === 0) {
         return false;
     }
};

onGrouped


onGrouped: (grid: GridView) => void

그룹핑했음을 알리는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

기본 값

null

예제 코드

gridView.onGrouped = function(grid) {
     console.log("I am Grouped!");
};

onGrouping


onGrouping: (grid: GridView, fields: number[]) => boolean

그룹핑을 결정하는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

fields - 그룹핑되는 필드의 인덱스들

[반환값] - 그룹핑 실행 여부. false를 반환하면 그룹핑은 취소된다.

기본 값

null

예제 코드

gridView.onGrouping = function(grid, fields) {
     alert("onGrouping 이벤트가 발생했습니다. false를 반환합니다.");
     return false;
};

onPageChanged


onPageChanged: (grid: GridView, page: number) => void

그리드가 Paging 상태일 때, 다른 페이지로 이동했음을 알리는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

page - 새로 이동한 페이지 인덱스

기본 값

null

예제 코드

gridView.onPageChanged = function(grid, page) {
     if(page % 2 === 0) {
         console.log('even number changed!')
     }
};

onPageChanging


onPageChanging: (grid: GridView, page: number) => boolean

그리드가 Paging 상태일 때, 페이지 이동을 결정하는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

page - 새로 이동하게 될 페이지 인덱스

[반환값] - false를 반환하면 페이지 이동이 취소된다.

기본 값

null

예제 코드

gridView.onPageChanging = function(grid, page) {
     if(page % 2 === 0) {
         return true;
     }
     return false;
};

onPageCountChanged


onPageCountChanged: (grid: GridView, pageCount: number) => void

그리드가 Paging 상태일 때, 변경된 페이지 수와 함께 다른 페이지로 이동했음을 알리는 콜백

상세 설명

[매개변수 목록]

grid - GridView 컨트롤

pageCount - 변경된 페이지 수

기본 값

null

예제 코드

gridView.onPageCountChanged = function(grid, pageCount) {
     console.log('pageCount: ' + pageCount);
};