XML 데이타 가져오기
RealGrid는 LocalDataProvider.fillXmlData() 함수를 이용해 XML 포멧의 데이터를 읽어 올 수 있습니다.
XML 데이터
RealGrid의 DataProvider에 XML 포멧의 데이터를 입력 할 수 있습니다. XML데이터의 유형은 아래와 같이 attribute를 활용하거나 childNode를 활용하는 방법, 모두 가능하며 두 방법을 조합하여 사용할 수도 있습니다.
아래, 각 유형에 대한 데이터 샘플을 참고하세요.
XML 포멧의 데이터는 LocalDataProvider.fillXmlData()라는 함수를 이용해 데이터를 읽어 올 수 있습니다.
attribute를 필드와 매핑하는 XML 데이터
var data = '<rows>\
<row KorName= "박영호" Gender= "남" Age= "71" Phone= "(025)6563-2802" ProductId= "198160731-00008" KorCountry= "모잠비크" OrderDate= "2021-01-16" CardNumber= "5587-2139-9692-3644" Monetary= "EUR" StartDate= "2018-02-25" EndDate= "2021-08-12" ToMonth= "23" Month= "41" Year= "3" InterestRate= "0.15" SaveCost= "51000" SaveMaturity= "14950650" CurrentSave= "9304950" Rating= "5" BusinessProficiency= "59" Address= "서울특별시 강서구 공항동 45-89"/>\
<row KorName= "조일형" Gender= "남" Age= "62" Phone= "(093)8809-8696" ProductId= "571215854-00001" KorCountry= "캐나다" OrderDate= "2019-07-29" CardNumber= "5348-5093-3750-0623" Monetary= "USD" StartDate= "2019-10-21" EndDate= "2022-12-11" ToMonth= "3" Month= "37" Year= "3" InterestRate= "0.38" SaveCost= "14000" SaveMaturity= "7801080" CurrentSave= "1108520" Rating= "3" BusinessProficiency= "53" Address= "서울특별시 중구 봉래동2가 122" />\
</rows>';
dataProvider.fillXmlData(data);
DataFillOptions
그리드에 데이터를 로드하기 위한 세 함수가 있습니다.
- fillJsonData(data, options)
- fillXmlData(data, options)
- fillCsvData(data, options)
이 함수들에는 공통적으로 DataFillOptions형의 options라는 두번째 인자가 정의되어 있습니다.
DataFillOptions를 이용해 그리드를 데이터에 로드하기 위한 여러가지 옵션을 설정 할 수 있습니다.
fillMode속성으로 데이터를 채우는 방법을 선택 할 수 있습니다.
그리드의 모든 데이터를 지우고 아래 data를 채웁니다.
var data = '<rows>\
<row KorName= "박영호" Gender= "남" Age= "71" Phone= "(025)6563-2802" ProductId= "198160731-00008" KorCountry= "모잠비크" OrderDate= "2021-01-16" CardNumber= "5587-2139-9692-3644" Monetary= "EUR" StartDate= "2018-02-25" EndDate= "2021-08-12" ToMonth= "23" Month= "41" Year= "3" InterestRate= "0.15" SaveCost= "51000" SaveMaturity= "14950650" CurrentSave= "9304950" Rating= "5" BusinessProficiency= "59" Address= "서울특별시 강서구 공항동 45-89"/>\
<row KorName= "조일형" Gender= "남" Age= "62" Phone= "(093)8809-8696" ProductId= "571215854-00001" KorCountry= "캐나다" OrderDate= "2019-07-29" CardNumber= "5348-5093-3750-0623" Monetary= "USD" StartDate= "2019-10-21" EndDate= "2022-12-11" ToMonth= "3" Month= "37" Year= "3" InterestRate= "0.38" SaveCost= "14000" SaveMaturity= "7801080" CurrentSave= "1108520" Rating= "3" BusinessProficiency= "53" Address= "서울특별시 중구 봉래동2가 122" />\
</rows>';
dataProvider.fillXmlData(data, { fillMode: "set" });
그리드의 마지막행 뒤에 jsonData의 처음 한 행을 가져와 추가(Append) 합니다. 이 작업을 위해 DataFillOptions의 start: 0, count: 1 속성을 사용합니다.
var data = '<rows>\
<row KorName= "박영호" Gender= "남" Age= "71" Phone= "(025)6563-2802" ProductId= "198160731-00008" KorCountry= "모잠비크" OrderDate= "2021-01-16" CardNumber= "5587-2139-9692-3644" Monetary= "EUR" StartDate= "2018-02-25" EndDate= "2021-08-12" ToMonth= "23" Month= "41" Year= "3" InterestRate= "0.15" SaveCost= "51000" SaveMaturity= "14950650" CurrentSave= "9304950" Rating= "5" BusinessProficiency= "59" Address= "서울특별시 강서구 공항동 45-89"/>\
<row KorName= "조일형" Gender= "남" Age= "62" Phone= "(093)8809-8696" ProductId= "571215854-00001" KorCountry= "캐나다" OrderDate= "2019-07-29" CardNumber= "5348-5093-3750-0623" Monetary= "USD" StartDate= "2019-10-21" EndDate= "2022-12-11" ToMonth= "3" Month= "37" Year= "3" InterestRate= "0.38" SaveCost= "14000" SaveMaturity= "7801080" CurrentSave= "1108520" Rating= "3" BusinessProficiency= "53" Address= "서울특별시 중구 봉래동2가 122" />\
</rows>';
dataProvider.fillXmlData(data, { fillMode: "append", start: 0, count: 1 });
새로 가져온 데이터들 중 2번째 데이터부터 하나의 데이터를 가져와 첫번째 자리에 끼워 넣습니다. 이 작업을 위해 DataFillOptions의 start: 1, count: 1, fillPos: 0 속성을 사용합니다.
var data = '<rows>\
<row KorName= "박영호" Gender= "남" Age= "71" Phone= "(025)6563-2802" ProductId= "198160731-00008" KorCountry= "모잠비크" OrderDate= "2021-01-16" CardNumber= "5587-2139-9692-3644" Monetary= "EUR" StartDate= "2018-02-25" EndDate= "2021-08-12" ToMonth= "23" Month= "41" Year= "3" InterestRate= "0.15" SaveCost= "51000" SaveMaturity= "14950650" CurrentSave= "9304950" Rating= "5" BusinessProficiency= "59" Address= "서울특별시 강서구 공항동 45-89"/>\
<row KorName= "조일형" Gender= "남" Age= "62" Phone= "(093)8809-8696" ProductId= "571215854-00001" KorCountry= "캐나다" OrderDate= "2019-07-29" CardNumber= "5348-5093-3750-0623" Monetary= "USD" StartDate= "2019-10-21" EndDate= "2022-12-11" ToMonth= "3" Month= "37" Year= "3" InterestRate= "0.38" SaveCost= "14000" SaveMaturity= "7801080" CurrentSave= "1108520" Rating= "3" BusinessProficiency= "53" Address= "서울특별시 중구 봉래동2가 122" />\
</rows>';
dataProvider.fillXmlData(data, {
fillMode: "insert",
start: 1,
count: 1,
fillPos: 0
});
새로 가져온 데이터들 중 2번째 데이터부터 두개의 데이터를 가져와 현재 그리드의 두번째 데이터부터 덮어쓰기(update) 합니다. 이 작업을 위해 DataFillOptions의 start: 1, count: 2, fillPos: 0 속성을 사용합니다.
var data = '<rows>\
<row KorName= "박영호" Gender= "남" Age= "71" Phone= "(025)6563-2802" ProductId= "198160731-00008" KorCountry= "모잠비크" OrderDate= "2021-01-16" CardNumber= "5587-2139-9692-3644" Monetary= "EUR" StartDate= "2018-02-25" EndDate= "2021-08-12" ToMonth= "23" Month= "41" Year= "3" InterestRate= "0.15" SaveCost= "51000" SaveMaturity= "14950650" CurrentSave= "9304950" Rating= "5" BusinessProficiency= "59" Address= "서울특별시 강서구 공항동 45-89"/>\
<row KorName= "조일형" Gender= "남" Age= "62" Phone= "(093)8809-8696" ProductId= "571215854-00001" KorCountry= "캐나다" OrderDate= "2019-07-29" CardNumber= "5348-5093-3750-0623" Monetary= "USD" StartDate= "2019-10-21" EndDate= "2022-12-11" ToMonth= "3" Month= "37" Year= "3" InterestRate= "0.38" SaveCost= "14000" SaveMaturity= "7801080" CurrentSave= "1108520" Rating= "3" BusinessProficiency= "53" Address= "서울특별시 중구 봉래동2가 122" />\
</rows>';
dataProvider.fillXmlData(data, {
fillMode: "update", start: 1, count: 2, fillPos: 1
});