LocalDataProvider

LocalDataProvider 클래스. DataProviderBase 를 상속한다.

상세 설명

[상위 클래스]

DataProviderBase

메서드 정보

addRow


addRow(values:DataValues):number

데이터 행을 추가한다

매개변수

  • values: DataValues

    추가할 행의 값, 배열 또는 Object

반환값

타입: number

추가된 행의 dataRow 실패한경우 -1이 return된다.

예제 코드

dataProvider.addRow({
   FieldA: 'GHI',
   FieldB: 15
});

addRows


addRows(rows:DataValues[],start:number,count:number,rowEvents:boolean):void

데이터 원본에서 가져와 데이터 셋에 추가한다.

매개변수

  • rows: DataValues[]

    데이터 원본, 2차원 배열 또는 오브젝트의 배열

  • start: number

    데이터 셋에 채울 데이터의 시작 행, 기본값 0

  • count: number

    데이터 셋에 채울 데이터 건수, -1이면 데이터 원본의 건수만큼 추가된다, 기본값: -1

  • rowEvents: boolean

    이벤트를 일괄 발생할지의 여부, 기본값: false

예제 코드

dataProvider.addRows([
 {
   FieldA: 'GHI',
   FieldB: 15
 }, {
   FieldA: 'KLM',
   FieldB: 31
 }]);

clearRows


clearRows():void

데이터 셋을 초기화한다

예제 코드

dataProvider.clearRows();

fillCsvData


fillCsvData(data:any,options:DataFillOptions):void

CSV 데이터 원본에서 문자열을 파싱하여 데이터 셋을 생성한다.

매개변수

  • data: any

    CSV 문자열

  • options: DataFillOptions

    데이터 추출및 채우는 방식 설정, DataFillOptions 객체 또는 DataFillOptions와 동일 구조의 object

예제 코드

let options = {
     start: 1,
     count: 3
}

dataProvider.fillCsvData(data, options);

fillJsonData


fillJsonData(data:any,options:DataFillOptions):void

JSON 데이터 원본에서 데이터를 가져와 데이터 셋을 생성한다.

매개변수

  • data: any

    데이터 원본, JSON 문자열 또는 오브젝트의 배열

  • options: DataFillOptions

    데이터 추출및 채우는 방식 설정, DataFillOptions 또는 DataFillOptions 객체, null이면 기본값으로 동작

예제 코드

let options = {
     start: 1,
     count: 3
}

dataProvider.fillJsonData([
 {
   FieldA: 'ABC',
   FieldB: 10
 }, {
   FieldA: 'DEF',
   FieldB: 30
 }], options);

fillXmlData


fillXmlData(data:any,options:DataFillOptions):void

XML 데이터 원본에서 문자열을 파싱하여 데이터 셋을 생성한다.

매개변수

  • data: any

    XML 문자열

  • options: DataFillOptions

    데이터 추출및 채우는 방식 설정, DataFillOptions 객체 또는 DataFillOptions와 동일 구조의 object

예제 코드

let options = {
     start: 1,
     count: 3
}

dataProvider.fillXmlData(data, options);

getFieldValues


getFieldValues(field:number | string,startRow:number,endRow:number):any[]

데이터 셋의 특정 필드에 해당하는 특정 구간의 데이터를 반환한다.

매개변수

  • field: number | string
  • startRow: number

    시작 행의 인덱스, 기본값: 0

  • endRow: number

    마지막 행의 인덱스, -1이면 데이터 셋의 끝까지, 기본값: -1

반환값

타입: any[]

getHiddenRows


getHiddenRows():number[]

감춰진 데이터행들의 인덱스을 반환한다.

반환값

타입: number[]

예제 코드

let hiddens = dataProvider.getHiddenRows();

getJsonRows


getJsonRows(startRow:number,endRow:number):object[]

데이터 셋의 특정 구간의 데이터를 Object 배열로 반환한다.

매개변수

  • startRow: number

    시작 데이터 행의 인덱스, 기본값: 0

  • endRow: number

    끝 데이터 행의 인덱스, -1이면 데이터 셋의 끝까지

반환값

타입: object[]

예제 코드

let rows = dataProvider.getJsonRows();

getOutputRow


getOutputRow(options:DataOutputOptions,row:number):object

데이터 셋의 특정 데이터 행을 설정에 따라 Object로 반환한다.

매개변수

반환값

타입: object

예제 코드

let opt = {
     nullText: '빈 값'
}
let row = dataProvider.getOutputRow(opt, 4);

getOutputRows


getOutputRows(options:DataOutputOptions,startRow:number,endRow:number):object[]

데이터 셋의 특정 구간의 데이터를 설정에 따라 Object 배열로 반환한다.

매개변수

  • options: DataOutputOptions

    데이터를 반환내는 방식 설정, DataOutputOptions 과 동일

  • startRow: number

    시작 데이터 행의 인덱스, 기본값: 0

  • endRow: number

    끝 데이터 행의 인덱스, -1이면 데이터 셋의 끝까지, 기본값: -1

반환값

타입: object[]

예제 코드

let opt = {
     nullText: '빈 값'
}
let rows = dataProvider.getOutputRows(opt, 4, 10);

getRowCount


getRowCount():number

데이터 셋의 데이터 건수를 반환한다.

반환값

타입: number

예제 코드

let rowCount = ds.getRowCount();

getRows


getRows(startRow:number,endRow:number):RowValues[][]

데이터 셋의 특정 구간의 데이터를 2차원 배열로 반환한다.

매개변수

  • startRow: number

    시작 데이터 행의 인덱스 0이면 시작, 기본값: 0

  • endRow: number

    끝 데이터 행의 인덱스, -1이면 데이터 셋의 끝까지, 기본값: -1

반환값

타입: RowValues[][]

예제 코드

let rows = dataProvider.getRows();

getValue


getValue(row:number,field:number | string):any

특정 데이터 행의 특정 필드의 값을 반환한다.

매개변수

  • row: number

    값을 가져올 데이터 행의 인덱스

  • field: number | string

    값을 가져올 필드의 인덱스 또는 필드명

반환값

타입: any

예제 코드

let val = dataProvider.getValue(2, 10);

hideRows


hideRows(dataRows:number[] | number):void

특정 행들을 View에게 감출 때 사용한다.

매개변수

  • dataRows: number[] | number

    감출 데이터 행의 인덱스 또는 인덱스 배열

상세 설명

숨겨진 상태에서 데이터 셋의 추가, 삭제가 발생하는 경우 인덱스가 변경되므로 주의를 요한다.

예제 코드

// single
dataProvider.hideRows(3);

//multiple
dataProvider.hideRows([3,2,1]);

insertRow


insertRow(row:number,values:DataValues):boolean

특정 위치에 데이터 행을 삽입한다

매개변수

  • row: number

    삽입할 데이터 행의 인덱스

  • values: DataValues

    삽입할 행의 값, 배열 또는 오브젝트

반환값

타입: boolean

예제 코드

dataProvider.insertRow(4, {
   FieldA: 'DNA',
   FieldB: 15
});

insertRows


insertRows(row:number,rows:DataValues[],start:number,count:number,rowEvents:boolean):void

데이터 원본에서 가져와 데이터 셋의 특정 위치에 삽입한다.

매개변수

  • row: number

    삽입할 데이터 행의 인덱스

  • rows: DataValues[]

    데이터 원본, 2차원 배열 또는 Object의 배열

  • start: number

    데이터 셋에 채울 데이터의 시작 행, 기본값: 0

  • count: number

    데이터 셋에 채울 데이터 건수, -1이면 데이터 원본의 건수만큼 삽입된다. 기본값: -1

  • rowEvents: boolean

    이벤트를 일괄 발생할지의 여부, 기본값: false

예제 코드

dataProvider.insertRows(10, [
 {
   FieldA: 'OPQ',
   FieldB: 34
 }, {
   FieldA: 'RST',
   FieldB: 27
 }]);

isHiddenRow


isHiddenRow(dataRow:number):boolean

특정 행이 감춰줘있는지의 여부를 반환한다.

매개변수

  • dataRow: number

    확인할 데이터 행의 인덱스

반환값

타입: boolean

예제 코드

let isHidden = dataProvider.isHiddenRow(3);

moveRow


moveRow(row:number,newRow:number):void

특정 데이터 행을 이동한다

매개변수

  • row: number
  • newRow: number

    새로운 인덱스

예제 코드

dataProvider.moveRow(2, 5);

moveRows


moveRows(row:number,count:number,newRow:number):void

복수의 데이터 행들을 이동한다.

매개변수

  • row: number

    이동할 데이터 행들 중 첫 행의 인덱스

  • count: number

    이동할 데이터 행의 건수

  • newRow: number

    이동될 행의 인덱스

예제 코드

dataProvider.moveRows(2, 2, 5);

removeRow


removeRow(row:number):void

특정 위치의 데이터 행을 제거한다

매개변수

  • row: number

    제거할 데이터 행의 인덱스

예제 코드

dataProvider.removeRow(2);

removeRows


removeRows(rows:number[],rowEvents:boolean):void

특정 위치의 복수의 데이터 행들을 제거한다.

매개변수

  • rows: number[]

    제거할 데이터 행 인덱스의 배열

  • rowEvents: boolean

    개별 이벤트 발생 여부, 기본값: false

예제 코드

dataProvider.removeRows([2,3,4]);

resetHiddenRows


resetHiddenRows():void

모든 행의 감춰진 상태를 초기환한다.

예제 코드

dataProvider.resetHiddenRows();

searchData



검색 설정 방식에 따라 특정 값이 있는 셀을 찾는다.

매개변수

반환값

타입: SearchCellResult

찾은 셀의 정보, SearchCellResult 모델이다.

예제 코드

ds.searchData({fields:['fieldName'], value: 'value'});

searchDataRow


searchDataRow(options:SearchOptions):number

검색 설정 방식에 따라 특정 값이 있는 행을 찾는다.

매개변수

반환값

타입: number

찾은 행의 인덱스

예제 코드

ds.searchDataRow({fields:['fieldName'], values: ['value']});

setFilterMode


setFilterMode(filterMode:string):void

필터간의 연산조건을 설정한다.

매개변수

  • filterMode: string

    필터들의 연산 조건. 'and'또는 'or'

상세 설명

필터들의 연산 조건을 AND 또는 OR로 설정한다 setFilters에서 filterMode 지정하는것과 동일한 기능이다

setFilters


setFilters(filters:DataFilters,filterMode:string):void

데이터 셋에서 데이터를 필터링한다.

매개변수

  • filters: DataFilters

    필터 설정 값

  • filterMode: string

    필터들의 연산 조건. 'and'또는 'or' 다.

상세 설명

DataProvider에 필터를 적용한다. 필터에 부합하지 않은 행은 DataProvider에 존재하지 않게 된다.

예제 코드

// nonArray
dataProvider.setFilters({criteria: "value['field1']='가수'"});

// string
dataProvider.setFilters([
  "value['field1']='가수'",
  "value['field2']='여자'"
], "and");

// object
dataProvider.setFilters([
  {criteria: "value['field1']='가수'"},
  {criteria: "value['field2']='여자'"}
], "and");

setRowCount


setRowCount(newCount:number,fillFieldDefaults:boolean,defaultValues:DataValues,rowState:RowState):void

데이터 셋의 데이터 건수를 설정하다.

매개변수

  • newCount: number

    새로운 데이터 건수

  • fillFieldDefaults: boolean

    새로운 행이 추가될때 필드의 기본값을 사용하여 값을 넣을지의 여부, 기본값: false

  • defaultValues: DataValues

    새로운 행이 추가될때 각각의 필드에 해당하는 값들, 기본값: null, 필드순서대로 사용한다.

  • rowState: RowState

    새로운 행의 상태, 기본값: RowState.NONE

상세 설명

데이터 셋의 데이터 건수를 강제로 설정한다. 기존의 건수가 새로운 건수보다 많을 경우 잘려서 버려지고 새로운 건수가 많을 경우 새로운 행이 추가된다.

예제 코드

ds.setRowCount(100);

setRows


setRows(rows:DataValues[],start:number,count:number):void

데이터 원본에서 가져와 데이터 셋을 채운다.

매개변수

  • rows: DataValues[]

    데이터 원본, 2차원 배열 또는 오브젝트의 배열

  • start: number

    데이터 셋에 채울 데이터의 시작 행, 기본값: 0

  • count: number

    데이터 셋에 채울 데이터 건수, -1이면 데이터 원본의 건수만큼 채운다. 기본값: -1

예제 코드

dataProvider.setRows([
 {
   FieldA: 'ABC',
   FieldB: 10
 }, {
   FieldA: 'DEF',
   FieldB: 30
 }]);

setValue


setValue(row:number,field:number | string,newValue:any):void

특정 데이터 행의 특정 필드의 값을 변경한다.

매개변수

  • row: number

    값을 변경할 데이터 행의 인덱스

  • field: number | string

    값을 변경할 필드의 인덱스 또는 필드명

  • newValue: any

    변경할 새로운 값

예제 코드

dataProvider.setValue(2, 5, 'newValue');

showHiddenRows


showHiddenRows(dataRows:number[] | number):void

감춰진 데이터행을 다시 표시한다.

매개변수

  • dataRows: number[] | number

    다시 표시할 데이터 행의 인덱스 또는 인덱스 배열

예제 코드

// single
dataProvider.showHiddenRows(3);

//multiple
dataProvider.showHiddenRows([3,2,1]);

updateRow


updateRow(row:number,values:DataValues,strict:boolean):void

데이터 셋의 특정 데이터 행의 값을 변경한다.

매개변수

  • row: number

    변경할 데이터 행의 인덱스

  • values: DataValues

    행의 변경할 데이터, 필드 인덱스 순서대로 배열에서 가져온다

  • strict: boolean

    값이 undefined 이거나 명시되지 않은 필드는 기존의 값을 유지한다

예제 코드

dataProvider.updateRow(3, ['value1', 'value2', 'value3', 'value4'], true);

updateRows


updateRows(row:number,rows:DataValues[],start:number,count:number,strict:boolean,rowEvents:boolean):void

데이터 원본에서 가져와 데이터 셋의 특정 위치에 변경한다.

매개변수

  • row: number

    변경할 데이터 행의 인덱스

  • rows: DataValues[]

    데이터 원본, 2차원 배열 또는 Object의 배열

  • start: number

    데이터 셋에 채울 데이터의 시작 행, 기본값: 0

  • count: number

    데이터 셋에 채울 데이터 건수, -1이면 데이터 원본의 건수만큼 변경된다, 기본값: -1

  • strict: boolean

    값이 undefined이거나 명시되지 않은 필드는 기존의 값을 유지한다

  • rowEvents: boolean

    이벤트를 일괄 발생할지의 여부, 기본값: false

예제 코드

dataProvider.updateRows(10, [
 {
   FieldA: 'OPQ',
   FieldB: 34
 }, {
   FieldA: 'RST',
   FieldB: 27
 }]);

콜백 정보

onDataChanged


onDataChanged: (provider: LocalDataProvider) => void

데이터 셋의 값이 변경되었었음을 알리는 콜백

상세 설명

setValue() 함수나 View에서의 입력으로 값이 바뀔 때 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

예제 코드

dataProvider.onDataChanged = function (provider) {
     console.log('dataChanged!');
};

onRestoreRows


onRestoreRows: (provider: LocalDataProvider, rows: number[]) => void

복수의 데이터 행의 상태가 복원되었음을 알리는 콜백

상세 설명

restoreUpdatedRows() 함수를 통해 수정된 행들이 복원 되었을 때 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

rows - 복원된 데이터 행들의 인덱스 배열

예제 코드

dataProvider.onRestoreRows = function (provider, rows) {
     console.log('dataProvider row restored: ' + rows.join(', '));
};

onRowCountChanged


onRowCountChanged: (provider: LocalDataProvider, newCount: number) => void

데이터 행의 건수가 변경되었음을 알리는 콜백

상세 설명

행 추가 및 삭제 등으로 데이터 행의 개수가 변경됐을 때 호출된다.

[매개변수 목록]

provider - DataProvider 컨트롤

newCount - 변경 후 전체 데이터 행의 건수

기본 값

null

예제 코드

dataProvider.onRowCountChanged = function (provider, newCount) {
    console.log("DataProvider rowCount changed as: " + newCount);
};

onRowDeleted


onRowDeleted: (provider: LocalDataProvider, row: number) => void

데이터 행이 삭제되었음을 알리는 콜백

상세 설명

onRowDeleting 콜백 함수에서 true가 반환되어 행이 추가된 후 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 삭제된 데이터 행의 인덱스

기본 값

null

예제 코드

dataProvider.onRowDeleted = function (provider, row) {
     console.log('dataProvider row deleted: ' + row);
};

onRowDeleting


onRowDeleting: (provider: LocalDataProvider, row: number) => boolean

데이터 행의 삭제를 결정하는 콜백

상세 설명

데이터 행이 삭제되기 직전에 호출하여 행의 삭제 여부를 확인한다. 행의 삭제가 완료된 후 onRowDeleted 가 발생한다.

이벤트에 함수가 바인딩되지 않은 경우 기본으로 true를 반환한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 추가될 데이터 행의 인덱스

기본 값

null [반환값] - true이면 행의 삭제를 완료하고 false이면 행의 삭제를 취소한다.

예제 코드

dataProvider.onRowDeleting = function (provider, row) {
     if (row < 100) {
         return false;
     }
     return true;
};

onRowInserted


onRowInserted: (provider: LocalDataProvider, row: number) => void

데이터 행이 추가되었을을 알리는 콜백

상세 설명

onRowInserting 콜백에서 true가 반환되어 행이 추가된 후 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 추가된 데이터 행의 인덱스

기본 값

null

예제 코드

dataProvider.onRowInserted = function (provider, row) {
     console.log("DataProvider row inserted!");
};

onRowInserting


onRowInserting: (provider: LocalDataProvider, row: number, values: DataValues) => boolean

데이터 행 추가를 결정하는 콜백

상세 설명

데이터 행이 추가되기 직전에 호출하여 행의 추가 여부를 확인한다. 행의 수정이 완료된 후 onRowInserted가 발생한다.

이벤트에 함수가 바인딩되지 않은 경우 기본으로 true를 반환한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 추가될 데이터 행의 인덱스

values - 추가될 데이터 값, DataValues 형식

기본 값

null [반환값] - true이면 행의 추가를 완료하고 false이면 행의 추가를 취소한다.

예제 코드

dataProvider.onRowInserting = function (provider, row, values) {
     if (row > 100) {
         return false;
     }
     return true;
};

onRowListMoved


onRowListMoved: (provider: LocalDataProvider, rows: number[], newRow: number) => void

복수의 데이터 행이 이동되었음을 알리는 콜백

상세 설명

onRowListMoving 콜백 함수에서 true가 반환되어 행들이 이동된 후 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

rows - 이동된 행 인덱스의 배열

newRow - 첫 데이터 행의 이동후의 인덱스

기본 값

null

예제 코드

dataProvider.onRowListMoved = function (provider, rows, newRow) {
     console.log('DataProvider ' + rows.length + ' rows moved!');
};

onRowListMoving


onRowListMoving: (provider: LocalDataProvider, rows: number[], newRow: number) => boolean

마우스를 이용한 행의 이동을 결정하는 콜백

상세 설명

복수의 데이터 행이 이동 되기 직전에 호출하여 행의 이동 여부를 결정한다.행들의 이동이 완료된 후 onRowListMoved 가 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

rows - 이동되는 행 인덱스의 배열

newRow - 첫 데이터 행의 이동 후의 인덱스

기본 값

null [반환값] - true이면 행들의 이동을 완료하고 false이면 행들의 이동을 취소한다.

예제 코드

dataProvider.onRowListMoving = function (provider, rows, newRow) {
     return rows.length === 1)
};

onRowListUpdated


onRowListUpdated: (provider: LocalDataProvider, rows: number[]) => void

다수의 데이터 행이 변경되었음을 알리는 콜백

상세 설명

[매개변수 목록]

provider - DataProvider 컨트롤

rows - 변경된 데이터 행들의 인덱스

기본 값

null

예제 코드

dataProvider.onRowListUpdated = function (provider, rows) {
     console.log("DataProvider rows updated: " + rows.join(', '));
};

onRowMoved


onRowMoved: (provider: LocalDataProvider, row: number, newRow: number) => void

데이터 행이 이동되었음을 알리는 콜백

상세 설명

onRowMoving 콜백 함수에서 true가 반환되어 행이 이동된 후 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 데이터 행의 원래의 인덱스

newRow - 데이터 행의 이동후의 인덱스

기본 값

null

예제 코드

dataProvider.onRowMoved = function (provider, row, newRow) {
     console.log('DataProvider row moved from ' + row + ' to ' + newRow);
};

onRowMoving


onRowMoving: (provider: LocalDataProvider, row: number, newRow: number) => boolean

데이터 행의 이동을 결정하는 콜백

상세 설명

데이터 행이 이동 되기 직전에 호출하여 행의 이동 여부를 결정한다. 행의 이동이 완료된 후 onRowMoved 가 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 데이터 행의 원래의 인덱스

newRow - 데이터 행의 이동후의 인덱스

기본 값

null [반환값] - true이면 행의 이동을 완료하고 false이면 행의 이동을 취소한다.

예제 코드

dataProvider.onRowMoving = function (provider, row, newRow) {
     if (row < newRow) {
         return false;
     }
     return true;
};

onRowsDeleted


onRowsDeleted: (provider: LocalDataProvider, rows: number[]) => void

데이터 행이 삭제되었음을 알리는 콜백

상세 설명

onRowDeleting 콜백 함수에서 true가 반환되어 행이 추가된 후 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 삭제된 데이터 행의 인덱스

기본 값

null

예제 코드

dataProvider.onRowsDeleted = function (provider, rows) {
     console.log('DataProvider rows deleted: ' + rows.join(', '));
};

onRowsInserted


onRowsInserted: (provider: LocalDataProvider, row: number, count: number) => void

다수의 데이터 행이 일괄 추가되었을 때 알리는 콜백

상세 설명

LocalDataProvider.insertRows() 등의 함수에서 이벤트 일괄 반영되도록 했을 때 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 변경된 시작 데이터 행의 인덱스

count - 변경된 행의 건수

기본 값

null

예제 코드

dataProvider.onRowsInserted = function (provider, row, count) {
     console.log("DataProvider " + count + " rows inserted!");
};

onRowsMoved


onRowsMoved: (provider: LocalDataProvider, row: number, count: number, newRow: number) => void

복수의 데이터 행이 이동되었음을 알리는 콜백

상세 설명

onRowsMoving 콜백 함수에서 true가 반환되어 행들이 이동된 후 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 첫 데이터 행의 원래의 인덱스

count - 이동할 데이터 행의 건수

newRow - 첫 데이터 행의 이동후의 인덱스

기본 값

null

예제 코드

dataProvider.onRowsMoved = function (provider, row, count, newRow) {
     console.log('DataProvider ' + count + ' rows moved!');
};

onRowsMoving


onRowsMoving: (provider: LocalDataProvider, row: number, count: number, newRow: number) => boolean

복수의 데이터 행의 이동을 결정하는 콜백

상세 설명

복수의 데이터 행이 이동 되기 직전에 호출하여 행의 이동 여부를 결정한다.행들의 이동이 완료된 후 onRowsMoved 가 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 첫 데이터 행의 원래의 인덱스

count - 이동할 데이터 행의 건수

newRow - 첫 데이터 행의 이동 후의 인덱스

기본 값

null [반환값] - true이면 행들의 이동을 완료하고 false이면 행들의 이동을 취소한다.

예제 코드

dataProvider.onRowsMoving = function (provider, row, count, newRow) {
     if (row < newRow || count > 20) {
         return false;
     }
     return true;
};

onRowStateChanged


onRowStateChanged: (provider: LocalDataProvider, row: number) => void

데이터 행의 상태가 변경되었음을 알리는 콜백

상세 설명

데이터행의 상태가 변경되는 경우 발생, 단 행 추가시에는 상태가 변경되었다 할 수 없으므로 예외로 한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 상태가 변경된 데이터 행의 인덱스

예제 코드

dataProvider.onRowStateChanged = function (provider, row) {
     console.log('dataProvider row state changed: ' + row);
};

onRowStatesChanged


onRowStatesChanged: (provider: LocalDataProvider, rows: number[]) => void

복수의 데이터 행의 상태가 일괄 변경되었음을 알리는 콜백

상세 설명

복수의 데이터행의 상태가 일괄 변경되는 경우 발생, 단 행 추가시에는 상태가 변경되었다 할 수 없으므로 예외로 한다.

[매개변수 목록]

provider - DataProvider 컨트롤

rows - 상태가 변경된 데이터 행들의 인덱스 배열

예제 코드

dataProvider.onRowStatesChanged = function (provider, rows) {
     console.log('dataProvider row state changed: ' + rows.join(','));
};

onRowStatesCleared


onRowStatesCleared: (provider: LocalDataProvider) => void

모든 행의 상태가 초기회 되었음을 알리는 콜백

상세 설명

DataProviderBase.clearRowStates() 를 통해 행의 상태가 모두 초기화 한 후에 발생

[매개변수 목록]

provider - DataProvider 컨트롤

예제 코드

dataProvider.onRowStatesCleared = function (provider) {
     console.log('dataProvider row state cleared!');
};

onRowsUpdated


onRowsUpdated: (provider: LocalDataProvider, row: number, count: number) => void

다수의 데이터 행이 일괄 수정되었음을 알리는 콜백

상세 설명

updateRows 등의 함수에서 이벤트 일괄 반영되도록 했을 때 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 변경된 시작 데이터 행의 인덱스

count - 변경된 행의 건수

기본 값

null

예제 코드

dataProvider.onRowsUpdated = function (provider, row, count) {
     console.log("DataProvider rows updated from " + row + 'to' + (count + row));
};

onRowUpdated


onRowUpdated: (provider: LocalDataProvider, row: number) => void

데이터 행이 수정되었음을 알리는 콜백

상세 설명

onRowUpdating 에서 true가 반환되었을 때 수정이 완료된 후에 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 변경된 데이터 행의 인덱스

기본 값

null

예제 코드

dataProvider.onRowUpdated = function (provider, row) {
     console.log("DataProvider row updated: " + row);
};

onRowUpdating


onRowUpdating: (provider: LocalDataProvider, row: number) => boolean

데이터 행의 수정을 결정하는 콜백

상세 설명

데이터 행이 수정되기 직전에 호출하여 행의 수정 여부를 확인한다. 행의 수정이 완료된 후 onRowUpdated가 발생한다.

이벤트에 함수가 바인딩되지 않은 경우 기본으로 true를 반환한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 변경된 데이터 행의 인덱스

기본 값

null [반환값] - true면 행의 수정을 완료하고 false면 행의 수정을 취소한다.

예제 코드

dataProvider.onRowUpdating = function (provider, row) {
     if(row % 2 === 0) {
         console.log("DataProvider row updated: " + row);
         return true;
     }
     return false;
};

onValueChanged


onValueChanged: (provider: LocalDataProvider, row: number, field: number) => void

데이터 셀의 값이 변경되었음을 알리는 콜백

상세 설명

setValue() 를 이용하여 데이터를 변경할 때 발생한다.

[매개변수 목록]

provider - DataProvider 컨트롤

row - 값이 변경된 행의 인덱스

field - 값이 변경된 필드의 인덱스

예제 코드

dataProvider.onValueChanged = function (provider, row, field) {
     console.log('DataProvider row Value changed at ' + row + ' on ' + field);
};