DataProviderBase

LocalDataProviderLocalTreeDataProvider 의 기반 클래스

상세 설명

DataProviderBase 의 모든 속성과 method 는 이를 상속한 하위 클래스들에서만 호출할 수 있다.

[하위 클래스]

LocalDataProvider

LocalTreeDataProvider

프로퍼티 정보

amText


amText: string

데이터에서 오전에 해당하는 문자열

기본값

'AM'

예제 코드

ds.amText = "오전";

baseYear


baseYear: number

데이터의 년도가 2자리일때 기준으로 하는 년도

기본값

2000

예제 코드

ds.baseYear = 1000;

booleanFormat


booleanFormat: string

데이터에서 Boolean으로 Parsing 하기 위한 포맷

기본값

null (기본 포맷 이용)

예제 코드

ds.booleanFormat = 'No: Yeah';

checkStates


checkStates: boolean

행 상태 관리 활성화 여부

기본값

true

예제 코드

ds.checkStates = false;

commitBeforeDataEdit


commitBeforeDataEdit: boolean

편집 상태일 때 다른 행에 대한 변경 함수(setValue() 등) 호출 시 이전 편집 자동 커밋 여부

기본값

false

예제 코드

ds.commitBeforeDataEdit = true;

datetimeFormat


datetimeFormat: string

text형식의 날짜 데이터를 datetime 값으로 Parsing하기위한 포맷

기본값

null (기본 포맷 이용)

예제 코드

ds.datetimeFormat = 'yyyy-MM-dd';

deletable


deletable: boolean

행 삭제 가능 여부

기본값

true

예제 코드

ds.deletable = false;

deleteCreated


deleteCreated: boolean

추가된 행을 삭제 시 실제로 삭제할지의 여부

기본값

false

예제 코드

ds.deleteCreated = false;

insertable


insertable: boolean

행 삽입 가능 여부

기본값

true

예제 코드

ds.insertable = false;

pmText


pmText: string

데이터에서 오후에 해당하는 문자열

기본값

'PM'

예제 코드

ds.pmText = "오후";

restoreMode


restoreMode: RestoreMode

복원 모드

예제 코드

ds.restoreMode = 'explicit';

softDeleting


softDeleting: boolean

행 삭제 시 실제로 삭제하지 않고 RowState 만 변경할지의 여부

기본값

false

예제 코드

ds.softDeleting = false;

strictRestore


strictRestore: boolean

복원시 undefined, null, 빈 문자열을 다른 값으로 인식할지의 여부

기본값

false

예제 코드

ds.strictRestore = true;

subTypeEnabled


subTypeEnabled: boolean

DataField 의 subType 속성의 활성화 여부

기본값

true

예제 코드

ds.subTypeEndabled = false;

undoable


undoable: boolean

undo/redo 사용 여부

기본값

false

예제 코드

ds.undoable = true;

updatable


updatable: boolean

행 수정 가능 여부

기본값

true

예제 코드

ds.updatable = false;

valuesCallback


valuesCallback: ObjectToValuesCallback

json 형태의 data를 dataProvider에 입력할때 각 행별로 호출되는 콜백

상세 설명

기본값

undefined

메서드 정보

addField


addField(field:DataFieldInput,resetFields:boolean,calculateData:boolean):DataField

필드를 추가로 생성한다.

매개변수

  • field: DataFieldInput

    생성할 데이터 필드의 정보값, 문자열일 경우 fieldName으로 설정

  • resetFields: boolean

    데이터 컬럼에 binding된 필드 정보 갱신여부

  • calculateData: boolean

    calculated 필드를 다시 계산할지의 여부

반환값

타입: DataField

상세 설명

DataField 객체를 생성하여 기존 필드셋에 추가한다.

예제 코드

// string
ds.addField('fieldnName');

// model
let fields = ds.getFields();
ds2.addField(fields);

// config
ds.addField({
     fieldName: 'OrderID',
     dataType: 'text',
});

beginUpdate


beginUpdate():void

일괄 갱신의 시작점을 지정한다.

상세 설명

DataProvider에서 변경 작업이 발생하면 이를 View에 이벤트를 전달하여 처리하는데 일괄처리를 할때는 이벤트가 빈번히 발생하여 성능이 저하 될 수 있다. beginUpdate()를 호출하면 endUpdate() 가 호출 되기전까지 이벤트가 발생하지 않고 endUpdate()가 호출될 때 일괄 발생한다. beginUpdate ~ endUpdate는 중첩될 수 있는데 반드시 쌍으로 호출되어야 하고 마지막 쌍의 endUpdate가 호출될때 이벤트가 View에 전달된다.

예제 코드

dataProvider.beginUpdate();
try {
    for (var i = 0; i < 10; i++) {
        var values = gridView.getValues(i);
        dataProvider.addRow(values);
    }
} finally {
    dataProvider.endUpdate();
}

checkRowStates


checkRowStates(value:boolean):void

행 상태 기록 여부를 지정한다.

매개변수

  • value: boolean

    행 상태 기록 여부

상세 설명

행 추가/수정/삭제 상태가 변경될 때 상태를 기록할지를 결정한다. 기록 되지 않으면 softDeletingtrue여도 무시하고 삭제 된다.

예제 코드

let checkState = ds.checkRowStates(true);

clearCommandStack


clearCommandStack():void

Command Stack 을 초기화한다.

예제 코드

ds.clearCommandStack();

clearRowStates


clearRowStates(deleteRows:boolean,rowEvents:boolean):void

모든 행의 상태를 제거한다.

매개변수

  • deleteRows: boolean

    행 상태가 삭제인 행을 실제로 삭제할지의 여부, true이면 데이터 셋에서 제거되고 false이면 행 상태를 리셋하고 데이터를 보존한다.

  • rowEvents: boolean

    상태가 제거된 행에 대해 onRowStateChanged 등의 상태변경 콜백을 발생시킬지의 여부

상세 설명

모든 데이터 행의 상태를 RowState.NONE 으로 초기화한다.

예제 코드

ds.clearRowState(true);

clearSavePoints


clearSavePoints():void

모든 복구시점을 제거한다.

상세 설명

모든 복구 시점과 관련 저장한 데이터및 상태를 삭제한다.

예제 코드

ds.clearSavePoints();

destroy


destroy():any

DataProvider 객체를 메모리에서 해제한다.

반환값

타입: any

상세 설명

DataProvider내부에서 사용된 객체와 데이터등을 제거하고 가비지 콜렉팅이 되도록 한다.

예제 코드

ds.destroy();

endUpdate


endUpdate(refresh:boolean):void

일괄 갱신의 완료점을 지정한다.

매개변수

  • refresh: boolean

상세 설명

DataProvider에서 변경 작업이 발생하면 이를 View에 이벤트를 전달하여 처리하는데 일괄처리를 할때는 이벤트가 빈번히 발생하여 성능이 저하 될 수 있다. beginUpdate() 를 호출하면 endUpdate()가 호출될 되기전까지 이벤트를 발생하지 않고 endUpdate()가 호출될대 일괄 발생한다. beginUpdate ~ endUpdate는 중첩될 수 있는데 반드시 쌍으로 호출되어야 하고 마지막 쌍의 endUpdate가 호출될때 이벤트가 View에 전달된다.

예제 코드

dataProvider.beginUpdate();
try {
    for (var i = 0; i < 10; i++) {
        var values = gridView.getValues(i);
        dataProvider.addRow(values);
    }
} finally {
    dataProvider.endUpdate();
}

exportToCsv


exportToCsv(options:DataExportOptions):void

데이터 셋을 CSV파일로 내보낸다.

매개변수

상세 설명

options의 설정에 따라 데이터 셋에 저장된 데이터를 CSV파일로 내보낸다.

이는 데이터 수준에서의 내보내기이므로 View 에서 설정하는 상태와는 무관하게 진행된다.

예제 코드

ds.exportToCsv();

fieldByName


fieldByName(name:string):DataField

이름에 해당하는 필드를 반환한다.

매개변수

  • name: string

    필드의 fieldName에 해당하는 값

반환값

타입: DataField

fieldName속성을 기준으로 해당하는 DataField 객체를 반환한다. fieldName이 모두 일치하지 않을 경우 null을 반환한다.

예제 코드

let field = ds.fieldByName('Fruits');

getAllStateRows


getAllStateRows():RowStateList

상태값을 갖는 모든 행의 인덱스를 반환한다.

반환값

타입: RowStateList

- RowStateList 모델이다.

상세 설명

RowState.NONE 이 아닌 행들의 번호를 상태별로 배열로 만들어 Object 형태로 반환한다.

예제 코드

let rows = ds.getAllStateRows();

getDistinctValues


getDistinctValues(field:string | number,maxCount:number,sortDir:SortDirection):any[]

필드의 중복되지 않은 값들을 반환한다.

매개변수

  • field: string | number

    필드 명 또는 필드 인덱스

  • maxCount: number

    최대 건수, 정렬한 상태에서 위에부터 건수만큼 잘라서 반환한다. 기본값: -1

  • sortDir: SortDirection

    정렬 방법, 기본값: SortDirection.ASCENDING

반환값

타입: any[]

상세 설명

데이터 셋에서 지정된 필드에 해당하는 값들을 중복을 배제하여 정렬상태로 반환한다,

예제 코드

ds.getDistinctValues('field1');

getFieldCount


getFieldCount():number

현재 구성된 필드셋의 갯수를 반환한다.

반환값

타입: number

예제 코드

let fCount = ds.getFieldCount();

getFieldIndex


getFieldIndex(fieldName:string):number

필드명에 해당하는 인덱스를 반환한다.

매개변수

  • fieldName: string

    필드명, 대소문자를 구분하지 않는다.

반환값

타입: number

필드셋에서 fieldName에 해당하는 필드의 인덱스를 반환한다.

예제 코드

let index = ds.getFieldIndex('fieldName');

getFieldName


getFieldName(fieldIndex:number):string

특정 인덱스의 필드의 이름을 반환한다.

매개변수

  • fieldIndex: number

    필드 인덱스

반환값

타입: string

상세 설명

필드셋에서 fieldIndex에 위치된 필드의 fieldName속성을 반환한다.

fieldName은 내부적으로 대문자로 저장되므로 대문자 문자열로 출력된다.

설정시의 fieldName으로 가져오려면 getOrgFieldName() 을 사용한다.

예제 코드

let fieldName = ds.getFieldName(3);

getFieldNames


getFieldNames():string[]

필드들의 이름을 반환한다.

반환값

타입: string[]

상세 설명

필드셋에서 필드의 fieldName 속성들을 배열로 반환한다.

fieldName은 내부적으로 대문자로 저장되므로 대문자 문자열로 출력된다.

설정시의 fieldName으로 가져오려면 getOrgFieldNames() 를 사용한다.

예제 코드

let fieldNames = ds.getFieldNames();

getFields


getFields():DataField[]

DataField 객체들을 반환한다.

반환값

타입: DataField[]

상세 설명

현재 DataProvider에 설정된 DataField 객체를 배열로 반환한다.

예제 코드

let fields = ds.getFields();
ds2.setFields(fields);

getOptions


getOptions():DataOptions

설정 정보를 반환한다.

반환값

타입: DataOptions

상세 설명

설정정보를 DataOptions 형태로 반환한다.

예제 코드

let options = ds.getOptions();
options.undoable = true;
ds.setOptions(options);

getOrgFieldName


getOrgFieldName(fieldIndex:number):string

특정 인덱스의 필드의 원래 이름을 반환한다.

매개변수

  • fieldIndex: number

    필드의 인덱스

반환값

타입: string

필드셋에서 fieldIndex에 위치된 필드의 설정 당시의 fieldName속성을 반환한다.

예제 코드

let fieldName = ds.getOrgFieldName(3);

getOrgFieldNames


getOrgFieldNames():string[]

필드들의 원래의 이름을 반환한다.

반환값

타입: string[]

필드셋에서 필드 설정당시의 fieldName 속성들을 반환한다.

예제 코드

let orgFieldNames = ds.getOrgFieldNames();

getRowState


getRowState(row:number):RowState

지정한 행의 상태를 반환한다.

매개변수

  • row: number

    데이터 셋의 행 고유 번호

반환값

타입: RowState

아무 상태도 없으면 RowState.NONE 을 반환한다.

예제 코드

let rowState = ds.getRowState(4);

getRowStateCount


getRowStateCount(states:string | RowState | RowState[]):number

상태별 데이터 행 개수를 반환한다.

매개변수

  • states: string | RowState | RowState[]

    행의 상태, 복수일때는 상태의 배열, 모든 상태를 알고싶은 경우 'all' 또는 '*' 문자열을 사용한다.

반환값

타입: number

상태에 해당하는 데이터 행의 건수, RowState.NONE 인 경우는 제외한다.

상세 설명

지정한 상태 배열 또는 문자열에 따라 포함된 상태별 행 건수를 반환한다.

'*', 'all' 입력 시 모두 반환한다.

예제 코드

var allStateCount = dataProvider.getRowStateCount('all');
var updateCount = dataProvider.getRowStateCount(RealGrid.RowState.UPDATED);

getSavePoints


getSavePoints():number[]

모든 복구시점들을 반환한다.

반환값

타입: number[]

상세 설명

저장된 모든 복구시점들의 인덱스를 배열로 반환한다.

예제 코드

ds.getSavePoints([0, 1, 2]);

getStateRows


getStateRows(rowState:RowState):number[]

특정 상태를 갖는 데이터 행 인덱스들을 반환한다.

매개변수

반환값

타입: number[]

상세 설명

지정된 rowState 값을 상태로 갖는 행들의 인덱스를 배열로 반환한다.

예제 코드

let rows = ds.getStateRows('c');

getUpdatedCells


getUpdatedCells(rows:number[]):UpdatedRow[]

지정한 행들의 변경된 셀정보를 반환한다

매개변수

  • rows: number[]

    변경된 셀의 정보를 가져올 행의 배열, null일 경우 상태가 RowState.UPDATED인 전체 행의 정보를 반환한다.

반환값

타입: UpdatedRow[]

상세 설명

restoreMode속성이 RestoreMode.EXPLICIT 또는 AUTO일 때, 지정된 행들 각각의 값이 변경된 셀의 정보를 반환한다.

예제 코드


let cells = ds.getUpdatedCells([1]);

// 변환 데이터 예)
[
  {
    __rowId: 1,
    updatedCells: [
      {
        fieldName: 'OrderID',
        oldValue: '1002',
        newValue: '1003',
      },
      {
        fieldName: 'OrderCount',
        oldValue: 20,
        newValue: 30
      }
    ]
  }
]

getValues


getValues(row:number):RowValues

행의 값들을 반환한다.

매개변수

  • row: number

    데이터 셋의 행 고유번호

반환값

타입: RowValues

필드 순서대로 배열화한다.

상세 설명

해당 데이터 행의 값들을 배열로 반환한다.

예제 코드

let val = ds.getValeus(5);

hasData


hasData(row:number):boolean

행에 값이 채워져씼는지 여부를 반환한다.

매개변수

  • row: number

    데이터셋의 행 고유번호

반환값

타입: boolean

값이 있으면 true, 데이터없이 추가된 빈 행이면 false

상세 설명

지정한 데이터행이 값이 채워져있는지 빈 행인지 여부를 반환한다.

예제 코드

let has = ds.hasData(5);

redo


redo():void

되돌린 내용을 취소한다.

예제 코드

ds.redo();

removeField


removeField(field:DataFieldInput,resetFields:boolean):void

필드를 제거한다.

매개변수

  • field: DataFieldInput

    제거할 필드의 이름 또는 DataField 객체

  • resetFields: boolean

    데이터 컬럼에 binding된 필드 정보 갱신여부

restoreUpdatedRows


restoreUpdatedRows(rows:number | number[]):void

지정한 행들의 값과 상태를 복원한다.

매개변수

  • rows: number | number[]

    복원하려는 행의 인덱스 또는 인덱스 배열

상세 설명

restoreMode속성이 RestoreMode.EXPLICIT 또는 AUTO일 때, 지정된 행들의 변경내용과 상태를 원래대로 복원한다.

예제 코드

ds.restoreUpdatedRows([2, 4]);

restoreUpdatedStates


restoreUpdatedStates(rows:number[]):void

지정한 행들의 상태를 복원한다.

매개변수

  • rows: number[]

    상태를 원복하려는 데이터행 인덱스의 배열

상세 설명

restoreMode속성이 RestoreMode.EXPLICIT일 때 값이 변경되었다가 원복된 행의 상태를 복원한다. 예를들어 상태가 RowState.NONE 인 행을 편집하여 RowState.UPDATED 상태가 되었을때 행의 값이 원래대로 돌아간후 호출하면 상태가 RowState.NONE으로 원복된다. restoreMode가 AUTO일 땐 행 값에 따라 자동으로 복원된다.

예제 코드

ds.restoreUpdatedStates([2, 4]);

rollback


rollback(savePoint:number):void

데이터 셋을 복원한다

매개변수

  • savePoint: number

    복구 포인트의 인덱스, 기본값: 0

상세 설명

데이터 셋의 데이터및 상태를 해당 포인트 시점으로 되돌린다.

예제 코드

ds.rollback();

savePoint


savePoint(saveStates:boolean):number

데이터 셋의 복구 시점을 기록한다.

매개변수

  • saveStates: boolean

    상태 기록 여부

반환값

타입: number

상세 설명

데이터 셋의 데이터및 상태를 복제하여 저장하고 포인트의 인덱스를 반환한다. 이 후 rollback() 함수를 통해 특정 포인트로 돌아갈 수 있다.

예제 코드

ds.savePoint([2, 4]);

setDataComparer


setDataComparer(field:string | number,comparer:CompareFunction):void

특정 필드의 정렬 함수를 설정한다.

매개변수

  • field: string | number

    정렬방식을 지정할 필드의 이름 또는 인덱스

  • comparer: CompareFunction

    사용자 정의 정렬 함수

상세 설명

해당 필드의 정렬이 발생시 기본적으로 사용는 정렬 함수가 아닌 사용자 정의 정렬 함수를 설정한다. 정렬 함수는 자바스크립트 Array.prototype.sort()의 compareFunction과 동일하다.

예제 코드

dataProvider.setDataComparer('OrderID', function(field, row1, row2) {
  var val1 = dataProvider.getValue(row1, field);
  var val2 = dataProvider.getValue(row2, field);
  return val1 == val2 ? 0 : val1 > val2 ? 1 : -1;
}

setFields


setFields(fields:DataFieldInput[]):void

필드셋을 설정한다

매개변수

상세 설명

기존 필드 정보와 binding된 데이터를 삭제하고 전달받은 필드 정보 배열로 부터 새로운 필드셋을 구성한다. fields의 갯수만큼 DataField 객체를 생성, 요소가 문자열일경우 fieldName으로, DataField 인 경우 복제, DataFieldObject 인 경우 속성값 기준으로 생성한다.

예제 코드

// string
ds.setFields('fieldnName');

// model
let fields = ds.getFields();
ds.setFields(fields);

// config
ds.setFields({
     fieldName: 'OrderID',
     dataType: 'text',
});

setOptions


setOptions(options:DataOptions):void

설정정보를 변경한다.

매개변수

상세 설명

options 에 기입하지 않은 설정은 원래의 값을 유지한다.

예제 코드

let options =  {
    insertable: true,
    updatable: true,
    softDeleting: false
};
ds.setOptions(options);

setRowState


setRowState(row:number,state:RowState,force:boolean):void

특정 행의 상태를 변경한다.

매개변수

  • row: number

    상태를 변경할 데이터 행 인덱스

  • state: RowState

    변경할 상태, 기본값: RowState.NONE

  • force: boolean

    DataProvider의 상태 관리에 관계없이 적용 여부, 기본값: false

예제 코드

ds.setRowState(5, 'updated');

setRowStates


setRowStates(rows:number[],state:RowState,force:boolean,rowEvents:boolean):void

복수의 행의 상태를 일괄 변경한다.

매개변수

  • rows: number[]

    상태를 변경할 데이터 행 인덱스의 배열

  • state: RowState

    변경할 상태

  • force: boolean

    DataProvider의 상태 관리에 관계없이 적용 여부

  • rowEvents: boolean

    true이면 각각의 데이터 행의 상태 변경 이벤트 발생, false면 하나의 이벤트로 묶어서 발생

상세 설명

배열로 전달된 데이터 행들의 상태를 일괄적으로 변경한다.

예제 코드

ds.setRowStates([1,3,5], "updated");

undo


undo():void

이전에 수정한 내용을 되돌린다.

예제 코드

ds.undo();