LocalDataProvider
LocalDataProvider 클래스. DataProviderBase 를 상속한다.
Signature:
export declare class LocalDataProvider extends DataProviderBase
Extends: DataProviderBase
Remarks
[상위 클래스]
Events
Property | Modifiers | Type | Description |
---|---|---|---|
onDataChanged | (provider: LocalDataProvider) => void | 데이터 셋의 값이 변경되었었음을 알리는 콜백 | |
onRestoreRows | (provider: LocalDataProvider, rows: number[]) => void | 복수의 데이터 행의 상태가 복원되었음을 알리는 콜백 | |
onRowCountChanged | (provider: LocalDataProvider, newCount: number) => void | 데이터 행의 건수가 변경되었음을 알리는 콜백 | |
onRowDeleted | (provider: LocalDataProvider, row: number) => void | 데이터 행이 삭제되었음을 알리는 콜백 | |
onRowDeleting | (provider: LocalDataProvider, row: number) => boolean | 데이터 행의 삭제를 결정하는 콜백 | |
onRowInserted | (provider: LocalDataProvider, row: number) => void | 데이터 행이 추가되었을을 알리는 콜백 | |
onRowInserting | (provider: LocalDataProvider, row: number, values: DataValues) => boolean | 데이터 행 추가를 결정하는 콜백 | |
onRowListMoved | (provider: LocalDataProvider, rows: number[], newRow: number) => void | 복수의 데이터 행이 이동되었음을 알리는 콜백 | |
onRowListMoving | (provider: LocalDataProvider, rows: number[], newRow: number) => boolean | 마우스를 이용한 행의 이동을 결정하는 콜백 | |
onRowListUpdated | (provider: LocalDataProvider, rows: number[]) => void | 다수의 데이터 행이 변경되었음을 알리는 콜백 | |
onRowMoved | (provider: LocalDataProvider, row: number, newRow: number) => void | 데이터 행이 이동되었음을 알리는 콜백 | |
onRowMoving | (provider: LocalDataProvider, row: number, newRow: number) => boolean | 데이터 행의 이동을 결정하는 콜백 | |
onRowsDeleted | (provider: LocalDataProvider, rows: number[]) => void | 데이터 행이 삭제되었음을 알리는 콜백 | |
onRowsInserted | (provider: LocalDataProvider, row: number, count: number) => void | 다수의 데이터 행이 일괄 추가되었을 때 알리는 콜백 | |
onRowsMoved | (provider: LocalDataProvider, row: number, count: number, newRow: number) => void | 복수의 데이터 행이 이동되었음을 알리는 콜백 | |
onRowsMoving | (provider: LocalDataProvider, row: number, count: number, newRow: number) => boolean | 복수의 데이터 행의 이동을 결정하는 콜백 | |
onRowStateChanged | (provider: LocalDataProvider, row: number) => void | 데이터 행의 상태가 변경되었음을 알리는 콜백 | |
onRowStatesChanged | (provider: LocalDataProvider, rows: number[]) => void | 복수의 데이터 행의 상태가 일괄 변경되었음을 알리는 콜백 | |
onRowStatesCleared | (provider: LocalDataProvider) => void | 모든 행의 상태가 초기회 되었음을 알리는 콜백 | |
onRowsUpdated | (provider: LocalDataProvider, row: number, count: number) => void | 다수의 데이터 행이 일괄 수정되었음을 알리는 콜백 | |
onRowUpdated | (provider: LocalDataProvider, row: number) => void | 데이터 행이 수정되었음을 알리는 콜백 | |
onRowUpdating | (provider: LocalDataProvider, row: number) => boolean | 데이터 행의 수정을 결정하는 콜백 | |
onValueChanged | (provider: LocalDataProvider, row: number, field: number) => void | 데이터 셀의 값이 변경되었음을 알리는 콜백 |
Properties
Property | Modifiers | Type | Description |
---|---|---|---|
rowCount | number | rowCount를 읽어오거나 설정한다. 설정하는 경우 LocalDataProvider.setRowCount() 참조. |
Methods
Events Desc
onDataChanged
데이터 셋의 값이 변경되었었음을 알리는 콜백
Remarks:
setValue() 함수나 View에서의 입력으로 값이 바뀔 때 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
Example:
dataProvider.onDataChanged = function (provider) {
console.log('dataChanged!');
};
onRestoreRows
복수의 데이터 행의 상태가 복원되었음을 알리는 콜백
Remarks:
restoreUpdatedRows() 함수를 통해 수정된 행들이 복원 되었을 때 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
rows
- 복원된 데이터 행들의 인덱스 배열
Example:
dataProvider.onRestoreRows = function (provider, rows) {
console.log('dataProvider row restored: ' + rows.join(', '));
};
onRowCountChanged
데이터 행의 건수가 변경되었음을 알리는 콜백
Remarks:
행 추가 및 삭제 등으로 데이터 행의 개수가 변경됐을 때 호출된다.
[매개변수 목록]
provider
- DataProvider 컨트롤
newCount
- 변경 후 전체 데이터 행의 건수
Example:
dataProvider.onRowCountChanged = function (provider, newCount) {
console.log("DataProvider rowCount changed as: " + newCount);
};
onRowDeleted
데이터 행이 삭제되었음을 알리는 콜백
Remarks:
onRowDeleting 콜백 함수에서 true
가 반환되어 행이 추가된 후 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 삭제된 데이터 행의 인덱스
Example:
dataProvider.onRowDeleted = function (provider, row) {
console.log('dataProvider row deleted: ' + row);
};
onRowDeleting
데이터 행의 삭제를 결정하는 콜백
Remarks:
데이터 행이 삭제되기 직전에 호출하여 행의 삭제 여부를 확인한다. 행의 삭제가 완료된 후 onRowDeleted 가 발생한다.
이벤트에 함수가 바인딩되지 않은 경우 기본으로 true
를 반환한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 추가될 데이터 행의 인덱스
Example:
dataProvider.onRowDeleting = function (provider, row) {
if (row < 100) {
return false;
}
return true;
};
onRowInserted
데이터 행이 추가되었을을 알리는 콜백
Remarks:
onRowInserting 콜백에서 true
가 반환되어 행이 추가된 후 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 추가된 데이터 행의 인덱스
Example:
dataProvider.onRowInserted = function (provider, row) {
console.log("DataProvider row inserted!");
};
onRowInserting
데이터 행 추가를 결정하는 콜백
Remarks:
데이터 행이 추가되기 직전에 호출하여 행의 추가 여부를 확인한다. 행의 수정이 완료된 후 onRowInserted가 발생한다.
이벤트에 함수가 바인딩되지 않은 경우 기본으로 true
를 반환한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 추가될 데이터 행의 인덱스
values
- 추가될 데이터 값, DataValues 형식
Example:
dataProvider.onRowInserting = function (provider, row, values) {
if (row > 100) {
return false;
}
return true;
};
onRowListMoved
복수의 데이터 행이 이동되었음을 알리는 콜백
Remarks:
onRowListMoving 콜백 함수에서 true
가 반환되어 행들이 이동된 후 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
rows
- 이동된 행 인덱스의 배열
newRow
- 첫 데이터 행의 이동후의 인덱스
Example:
dataProvider.onRowListMoved = function (provider, rows, newRow) {
console.log('DataProvider ' + rows.length + ' rows moved!');
};
onRowListMoving
마우스를 이용한 행의 이동을 결정하는 콜백
Remarks:
복수의 데이터 행이 이동 되기 직전에 호출하여 행의 이동 여부를 결정한다.행들의 이동이 완료된 후 onRowListMoved 가 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
rows
- 이동되는 행 인덱스의 배열
newRow
- 첫 데이터 행의 이동 후의 인덱스
Example:
dataProvider.onRowListMoving = function (provider, rows, newRow) {
return rows.length === 1)
};
onRowListUpdated
다수의 데이터 행이 변경되었음을 알리는 콜백
Remarks:
[매개변수 목록]
provider
- DataProvider 컨트롤
rows
- 변경된 데이터 행들의 인덱스
Example:
dataProvider.onRowListUpdated = function (provider, rows) {
console.log("DataProvider rows updated: " + rows.join(', '));
};
onRowMoved
데이터 행이 이동되었음을 알리는 콜백
Remarks:
onRowMoving 콜백 함수에서 true
가 반환되어 행이 이동된 후 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 데이터 행의 원래의 인덱스
newRow
- 데이터 행의 이동후의 인덱스
Example:
dataProvider.onRowMoved = function (provider, row, newRow) {
console.log('DataProvider row moved from ' + row + ' to ' + newRow);
};
onRowMoving
데이터 행의 이동을 결정하는 콜백
Remarks:
데이터 행이 이동 되기 직전에 호출하여 행의 이동 여부를 결정한다. 행의 이동이 완료된 후 onRowMoved 가 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 데이터 행의 원래의 인덱스
newRow
- 데이터 행의 이동후의 인덱스
Example:
dataProvider.onRowMoving = function (provider, row, newRow) {
if (row < newRow) {
return false;
}
return true;
};
onRowsDeleted
데이터 행이 삭제되었음을 알리는 콜백
Remarks:
onRowDeleting 콜백 함수에서 true
가 반환되어 행이 추가된 후 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 삭제된 데이터 행의 인덱스
Example:
dataProvider.onRowsDeleted = function (provider, rows) {
console.log('DataProvider rows deleted: ' + rows.join(', '));
};
onRowsInserted
다수의 데이터 행이 일괄 추가되었을 때 알리는 콜백
Remarks:
LocalDataProvider.insertRows() 등의 함수에서 이벤트 일괄 반영되도록 했을 때 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 변경된 시작 데이터 행의 인덱스
count
- 변경된 행의 건수
Example:
dataProvider.onRowsInserted = function (provider, row, count) {
console.log("DataProvider " + count + " rows inserted!");
};
onRowsMoved
복수의 데이터 행이 이동되었음을 알리는 콜백
Remarks:
onRowsMoving 콜백 함수에서 true
가 반환되어 행들이 이동된 후 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 첫 데이터 행의 원래의 인덱스
count
- 이동할 데이터 행의 건수
newRow
- 첫 데이터 행의 이동후의 인덱스
Example:
dataProvider.onRowsMoved = function (provider, row, count, newRow) {
console.log('DataProvider ' + count + ' rows moved!');
};
onRowsMoving
복수의 데이터 행의 이동을 결정하는 콜백
Remarks:
복수의 데이터 행이 이동 되기 직전에 호출하여 행의 이동 여부를 결정한다.행들의 이동이 완료된 후 onRowsMoved 가 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 첫 데이터 행의 원래의 인덱스
count
- 이동할 데이터 행의 건수
newRow
- 첫 데이터 행의 이동 후의 인덱스
Example:
dataProvider.onRowsMoving = function (provider, row, count, newRow) {
if (row < newRow || count > 20) {
return false;
}
return true;
};
onRowStateChanged
데이터 행의 상태가 변경되었음을 알리는 콜백
Remarks:
데이터행의 상태가 변경되는 경우 발생, 단 행 추가시에는 상태가 변경되었다 할 수 없으므로 예외로 한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 상태가 변경된 데이터 행의 인덱스
Example:
dataProvider.onRowStateChanged = function (provider, row) {
console.log('dataProvider row state changed: ' + row);
};
onRowStatesChanged
복수의 데이터 행의 상태가 일괄 변경되었음을 알리는 콜백
Remarks:
복수의 데이터행의 상태가 일괄 변경되는 경우 발생, 단 행 추가시에는 상태가 변경되었다 할 수 없으므로 예외로 한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
rows
- 상태가 변경된 데이터 행들의 인덱스 배열
Example:
dataProvider.onRowStatesChanged = function (provider, rows) {
console.log('dataProvider row state changed: ' + rows.join(','));
};
onRowStatesCleared
모든 행의 상태가 초기회 되었음을 알리는 콜백
Remarks:
DataProviderBase.clearRowStates() 를 통해 행의 상태가 모두 초기화 한 후에 발생
[매개변수 목록]
provider
- DataProvider 컨트롤
Example:
dataProvider.onRowStatesCleared = function (provider) {
console.log('dataProvider row state cleared!');
};
onRowsUpdated
다수의 데이터 행이 일괄 수정되었음을 알리는 콜백
Remarks:
updateRows 등의 함수에서 이벤트 일괄 반영되도록 했을 때 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 변경된 시작 데이터 행의 인덱스
count
- 변경된 행의 건수
Example:
dataProvider.onRowsUpdated = function (provider, row, count) {
console.log("DataProvider rows updated from " + row + 'to' + (count + row));
};
onRowUpdated
데이터 행이 수정되었음을 알리는 콜백
Remarks:
onRowUpdating 에서 true
가 반환되었을 때 수정이 완료된 후에 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 변경된 데이터 행의 인덱스
Example:
dataProvider.onRowUpdated = function (provider, row) {
console.log("DataProvider row updated: " + row);
};
onRowUpdating
데이터 행의 수정을 결정하는 콜백
Remarks:
데이터 행이 수정되기 직전에 호출하여 행의 수정 여부를 확인한다. 행의 수정이 완료된 후 onRowUpdated가 발생한다.
이벤트에 함수가 바인딩되지 않은 경우 기본으로 true
를 반환한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 변경된 데이터 행의 인덱스
Example:
dataProvider.onRowUpdating = function (provider, row) {
if(row % 2 === 0) {
console.log("DataProvider row updated: " + row);
return true;
}
return false;
};
onValueChanged
데이터 셀의 값이 변경되었음을 알리는 콜백
Remarks:
setValue() 를 이용하여 데이터를 변경할 때 발생한다.
[매개변수 목록]
provider
- DataProvider 컨트롤
row
- 값이 변경된 행의 인덱스
field
- 값이 변경된 필드의 인덱스
Example:
dataProvider.onValueChanged = function (provider, row, field) {
console.log('DataProvider row Value changed at ' + row + ' on ' + field);
};
Properties Desc
rowCount
rowCount를 읽어오거나 설정한다. 설정하는 경우 LocalDataProvider.setRowCount() 참조.
Methods Desc
addRow
데이터 행을 추가한다
Example:
dataProvider.addRow({
FieldA: 'GHI',
FieldB: 15
});
addRows
데이터 원본에서 가져와 데이터 셋에 추가한다.
Example:
dataProvider.addRows([
{
FieldA: 'GHI',
FieldB: 15
}, {
FieldA: 'KLM',
FieldB: 31
}]);
clearRows
데이터 셋을 초기화한다
Example:
dataProvider.clearRows();
fillCsvData
CSV 데이터 원본에서 문자열을 파싱하여 데이터 셋을 생성한다.
Example:
let options = {
start: 1,
count: 3
}
dataProvider.fillCsvData(data, options);
fillJsonData
JSON 데이터 원본에서 데이터를 가져와 데이터 셋을 생성한다.
Example:
let options = {
start: 1,
count: 3
}
dataProvider.fillJsonData([
{
FieldA: 'ABC',
FieldB: 10
}, {
FieldA: 'DEF',
FieldB: 30
}], options);
fillXmlData
XML 데이터 원본에서 문자열을 파싱하여 데이터 셋을 생성한다.
Example:
let options = {
start: 1,
count: 3
}
dataProvider.fillXmlData(data, options);
getFieldValues
데이터 셋의 특정 필드에 해당하는 특정 구간의 데이터를 반환한다.
getHiddenRows
감춰진 데이터행들의 인덱스을 반환한다.
Example:
let hiddens = dataProvider.getHiddenRows();
getJsonRow
지정한 데이터 행의 값을 Object 형태로 변환한다.
Example:
let jsonRow = ds.getJsonRow(5);
getJsonRows
데이터 셋의 특정 구간의 데이터를 Object 배열로 반환한다.
Example:
let rows = dataProvider.getJsonRows();
getOutputRow
데이터 셋의 특정 데이터 행을 설정에 따라 Object로 반환한다.
Example:
let opt = {
nullText: '빈 값'
}
let row = dataProvider.getOutputRow(opt, 4);
getOutputRows
데이터 셋의 특정 구간의 데이터를 설정에 따라 Object 배열로 반환한다.
Example:
let opt = {
nullText: '빈 값'
}
let rows = dataProvider.getOutputRows(opt, 4, 10);
getRowCount
데이터 셋의 데이터 건수를 반환한다.
Example:
let rowCount = ds.getRowCount();
getRows
데이터 셋의 특정 구간의 데이터를 2차원 배열로 반환한다.
Example:
let rows = dataProvider.getRows();
getValue
특정 데이터 행의 특정 필드의 값을 반환한다.
Example:
let val = dataProvider.getValue(2, 10);
hideRows
특정 행들을 View에게 감출 때 사용한다.
Remarks:
숨겨진 상태에서 데이터 셋의 추가, 삭제가 발생하는 경우 인덱스가 변경되므로 주의를 요한다.
Example:
// single
dataProvider.hideRows(3);
//multiple
dataProvider.hideRows([3,2,1]);
insertRow
특정 위치에 데이터 행을 삽입한다
Example:
dataProvider.insertRow(4, {
FieldA: 'DNA',
FieldB: 15
});
insertRows
데이터 원본에서 가져와 데이터 셋의 특정 위치에 삽입한다.
Example:
dataProvider.insertRows(10, [
{
FieldA: 'OPQ',
FieldB: 34
}, {
FieldA: 'RST',
FieldB: 27
}]);
isHiddenRow
특정 행이 감춰줘있는지의 여부를 반환한다.
Example:
let isHidden = dataProvider.isHiddenRow(3);
moveRow
특정 데이터 행을 이동한다
Example:
dataProvider.moveRow(2, 5);
moveRows
복수의 데이터 행들을 이동한다.
Example:
dataProvider.moveRows(2, 2, 5);
removeRow
특정 위치의 데이터 행을 제거한다
Example:
dataProvider.removeRow(2);
removeRows
특정 위치의 복수의 데이터 행들을 제거한다.
Example:
dataProvider.removeRows([2,3,4]);
resetHiddenRows
모든 행의 감춰진 상태를 초기환한다.
Example:
dataProvider.resetHiddenRows();
searchData
검색 설정 방식에 따라 특정 값이 있는 셀을 찾는다.
Example:
ds.searchData({fields:['fieldName'], value: 'value'});
searchDataRow
검색 설정 방식에 따라 특정 값이 있는 행을 찾는다.
Example:
ds.searchDataRow({fields:['fieldName'], values: ['value']});
setFilterMode
필터간의 연산조건을 설정한다.
Remarks:
필터들의 연산 조건을 AND 또는 OR로 설정한다 setFilters에서 filterMode 지정하는것과 동일한 기능이다
setFilters
데이터 셋에서 데이터를 필터링한다.
Remarks:
DataProvider에 필터를 적용한다. 필터에 부합하지 않은 행은 DataProvider에 존재하지 않게 된다.
Example:
// 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
데이터 셋의 데이터 건수를 설정하다.
Remarks:
데이터 셋의 데이터 건수를 강제로 설정한다. 기존의 건수가 새로운 건수보다 많을 경우 잘려서 버려지고 새로운 건수가 많을 경우 새로운 행이 추가된다.
Example:
ds.setRowCount(100);
setRows
데이터 원본에서 가져와 데이터 셋을 채운다.
Example:
dataProvider.setRows([
{
FieldA: 'ABC',
FieldB: 10
}, {
FieldA: 'DEF',
FieldB: 30
}]);
setValue
특정 데이터 행의 특정 필드의 값을 변경한다.
Example:
dataProvider.setValue(2, 5, 'newValue');
showHiddenRows
감춰진 데이터행을 다시 표시한다.
Example:
// single
dataProvider.showHiddenRows(3);
//multiple
dataProvider.showHiddenRows([3,2,1]);
updateRow
데이터 셋의 특정 데이터 행의 값을 변경한다.
Example:
dataProvider.updateRow(3, ['value1', 'value2', 'value3', 'value4'], true);
updateRows
데이터 원본에서 가져와 데이터 셋의 특정 위치에 변경한다.
Example:
dataProvider.updateRows(10, [
{
FieldA: 'OPQ',
FieldB: 34
}, {
FieldA: 'RST',
FieldB: 27
}]);
updateRowsByDataRow
연속적이지 않은 행을 일괄 수정한다.
Example:
var data = {
1:{"field1":value1, "field2":value2},
3:{"field1":value1, "field2":value2}
}
dataProvider.updateRowsByDataRow(data);