RealGrid2 API
Class
DataProviderBase

DataProviderBase

LocalDataProviderLocalTreeDataProvider 의 기반 클래스

Signature:

export declare abstract class DataProviderBase 

Remarks

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

[하위 클래스]

LocalDataProvider

LocalTreeDataProvider

Constructors

ConstructorModifiersDescription
(constructor)(undoable)Constructs a new instance of the DataProviderBase class

Properties

PropertyModifiersTypeDescription
amTextstring데이터에서 오전에 해당하는 문자열
baseYearnumber데이터의 년도가 2자리일때 기준으로 하는 년도
booleanFormatstring데이터에서 Boolean으로 Parsing 하기 위한 포맷
checkStatesboolean행 상태 관리 활성화 여부
commitBeforeDataEditboolean편집 상태일 때 다른 행에 대한 변경 함수(setValue() 등) 호출 시 이전 편집 자동 커밋 여부
datetimeFormatstringtext형식의 날짜 데이터를 datetime 값으로 Parsing하기위한 포맷
deletableboolean행 삭제 가능 여부
deleteCreatedboolean추가된 행을 삭제 시 실제로 삭제할지의 여부
insertableboolean행 삽입 가능 여부
pmTextstring데이터에서 오후에 해당하는 문자열
restoreModeRestoreMode복원 모드
softDeletingboolean행 삭제 시 실제로 삭제하지 않고 RowState 만 변경할지의 여부
strictRestoreboolean복원시 undefined, null, 빈 문자열을 다른 값으로 인식할지의 여부
subTypeEnabledbooleanDataField 의 subType 속성의 활성화 여부
undoablebooleanundo/redo 사용 여부
updatableboolean행 수정 가능 여부
valuesCallbackObjectToValuesCallbackjson 형태의 data를 dataProvider에 입력할때 각 행별로 호출되는 콜백

Methods

MethodModifiersDescription
addField(field, resetFields, calculateData)필드를 추가로 생성한다.
beginUpdate()일괄 갱신의 시작점을 지정한다.
checkRowStates(value)행 상태 기록 여부를 지정한다.
clearCommandStack()Command Stack 을 초기화한다.
clearRowStates(deleteRows, rowEvents)모든 행의 상태를 제거한다.
clearSavePoints()모든 복구시점을 제거한다.
destroy()DataProvider 객체를 메모리에서 해제한다.
endUpdate(refresh)일괄 갱신의 완료점을 지정한다.
exportToCsv(options)데이터 셋을 CSV파일로 내보낸다.
fieldByName(name)이름에 해당하는 필드를 반환한다.
getAllStateRows()상태값을 갖는 모든 행의 인덱스를 반환한다.
getDistinctValues(field, maxCount, sortDir)필드의 중복되지 않은 값들을 반환한다.
getFieldCount()현재 구성된 필드셋의 갯수를 반환한다.
getFieldIndex(fieldName)필드명에 해당하는 인덱스를 반환한다.
getFieldName(fieldIndex)특정 인덱스의 필드의 이름을 반환한다.
getFieldNames()필드들의 이름을 반환한다.
getFields()DataField 객체들을 반환한다.
getOptions()설정 정보를 반환한다.
getOrgFieldName(fieldIndex)특정 인덱스의 필드의 원래 이름을 반환한다.
getOrgFieldNames()필드들의 원래의 이름을 반환한다.
getRowState(row)지정한 행의 상태를 반환한다.
getRowStateCount(states)상태별 데이터 행 개수를 반환한다.
getSavePoints()모든 복구시점들을 반환한다.
getStateRows(rowState)특정 상태를 갖는 데이터 행 인덱스들을 반환한다.
getUpdatedCells(rows)지정한 행들의 변경된 셀정보를 반환한다
getValues(row)행의 값들을 반환한다.
hasData(row)행에 값이 채워져씼는지 여부를 반환한다.
redo()되돌린 내용을 취소한다.
removeField(field, resetFields)필드를 제거한다.
restoreUpdatedRows(rows)지정한 행들의 값과 상태를 복원한다.
restoreUpdatedStates(rows)지정한 행들의 상태를 복원한다.
rollback(savePoint)데이터 셋을 복원한다
savePoint(saveStates)데이터 셋의 복구 시점을 기록한다.
setDataComparer(field, comparer)특정 필드의 정렬 함수를 설정한다.
setFields(fields)필드셋을 설정한다
setOptions(options)설정정보를 변경한다.
setRowState(row, state, force)특정 행의 상태를 변경한다.
setRowStates(rows, state, force, rowEvents)복수의 행의 상태를 일괄 변경한다.
undo()이전에 수정한 내용을 되돌린다.

Construct Desc

(constructor)

Constructs a new instance of the DataProviderBase class

Properties Desc

amText

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

Example:

ds.amText = "오전";

baseYear

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

Example:

ds.baseYear = 1000;

booleanFormat

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

Example:

ds.booleanFormat = 'No: Yeah';

checkStates

행 상태 관리 활성화 여부

Example:

ds.checkStates = false;

commitBeforeDataEdit

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

Example:

ds.commitBeforeDataEdit = true;

datetimeFormat

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

Example:

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

deletable

행 삭제 가능 여부

Example:

ds.deletable = false;

deleteCreated

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

Example:

ds.deleteCreated = false;

insertable

행 삽입 가능 여부

Example:

ds.insertable = false;

pmText

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

Example:

ds.pmText = "오후";

restoreMode

복원 모드

Example:

ds.restoreMode = 'explicit';

softDeleting

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

Example:

ds.softDeleting = false;

strictRestore

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

Example:

ds.strictRestore = true;

subTypeEnabled

DataField 의 subType 속성의 활성화 여부

Example:

ds.subTypeEndabled = false;

undoable

undo/redo 사용 여부

Example:

ds.undoable = true;

updatable

행 수정 가능 여부

Example:

ds.updatable = false;

valuesCallback

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

Remarks:

Methods Desc

addField

필드를 추가로 생성한다.

Remarks:

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

Example:

// string
ds.addField('fieldnName');
 
// model
let fields = ds.getFields();
ds2.addField(fields);
 
// config
ds.addField({
     fieldName: 'OrderID',
     dataType: 'text',
});

beginUpdate

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

Remarks:

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

Example:

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

checkRowStates

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

Remarks:

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

Example:

let checkState = ds.checkRowStates(true);

clearCommandStack

Command Stack 을 초기화한다.

Example:

ds.clearCommandStack();

clearRowStates

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

Remarks:

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

Example:

ds.clearRowState(true);

clearSavePoints

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

Remarks:

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

Example:

ds.clearSavePoints();

destroy

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

Remarks:

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

Example:

ds.destroy();

endUpdate

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

Remarks:

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

Example:

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

exportToCsv

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

Remarks:

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

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

Example:

ds.exportToCsv();

fieldByName

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

Example:

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

getAllStateRows

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

Remarks:

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

Example:

let rows = ds.getAllStateRows();

getDistinctValues

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

Remarks:

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

Example:

ds.getDistinctValues('field1');

getFieldCount

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

Example:

let fCount = ds.getFieldCount();

getFieldIndex

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

Example:

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

getFieldName

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

Remarks:

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

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

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

Example:

let fieldName = ds.getFieldName(3);

getFieldNames

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

Remarks:

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

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

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

Example:

let fieldNames = ds.getFieldNames();

getFields

DataField 객체들을 반환한다.

Remarks:

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

Example:

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

getOptions

설정 정보를 반환한다.

Remarks:

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

Example:

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

getOrgFieldName

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

Example:

let fieldName = ds.getOrgFieldName(3);

getOrgFieldNames

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

Example:

let orgFieldNames = ds.getOrgFieldNames();

getRowState

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

Example:

let rowState = ds.getRowState(4);

getRowStateCount

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

Remarks:

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

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

Example:

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

getSavePoints

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

Remarks:

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

Example:

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

getStateRows

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

Remarks:

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

Example:

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

getUpdatedCells

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

Remarks:

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

Example:

 
let cells = ds.getUpdatedCells([1]);
 
// 변환 데이터 예)
[
  {
    __rowId: 1,
    updatedCells: [
      {
        fieldName: 'OrderID',
        oldValue: '1002',
        newValue: '1003',
      },
      {
        fieldName: 'OrderCount',
        oldValue: 20,
        newValue: 30
      }
    ]
  }
]

getValues

행의 값들을 반환한다.

Remarks:

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

Example:

let val = ds.getValeus(5);

hasData

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

Remarks:

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

Example:

let has = ds.hasData(5);

redo

되돌린 내용을 취소한다.

Example:

ds.redo();

removeField

필드를 제거한다.

restoreUpdatedRows

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

Remarks:

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

Example:

ds.restoreUpdatedRows([2, 4]);

restoreUpdatedStates

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

Remarks:

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

Example:

ds.restoreUpdatedStates([2, 4]);

rollback

데이터 셋을 복원한다

Remarks:

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

Example:

ds.rollback();

savePoint

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

Remarks:

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

Example:

ds.savePoint([2, 4]);

setDataComparer

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

Remarks:

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

Example:

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

필드셋을 설정한다

Remarks:

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

Example:

// string
ds.setFields('fieldnName');
 
// model
let fields = ds.getFields();
ds.setFields(fields);
 
// config
ds.setFields({
     fieldName: 'OrderID',
     dataType: 'text',
});

setOptions

설정정보를 변경한다.

Remarks:

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

Example:

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

setRowState

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

Example:

ds.setRowState(5, 'updated');

setRowStates

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

Remarks:

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

Example:

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

undo

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

Example:

ds.undo();