중요 업데이트 알림사용해보기제품구매도움영상문의
RealGrid2v2.2.0

  • 시작하기
      • 인디케이터
      • 상태바
      • 체크바
      • 컨텍스트 메뉴
      • 토스트 메시지 창
      • 커서
      • 열 고정하기
      • 행 고정하기
      • 선택
      • 같은 값의 셀 생략하기
      • 셀 버튼
      • 팝업 메뉴 버튼
      • 셀 병합
      • Lookup 컬럼
      • 툴팁
      • Lookup 트리
      • 컬럼 만들기
      • 컬럼 속성 변경하기
      • 컬럼 너비 자동 조정
      • 데이터 정렬
      • 컬럼 이동
      • 데이터 필터링
      • 자동 필터링
      • 컬럼 레이아웃(컬럼 그룹핑)
      • 컬럼 너비 조절
      • 헤더 높이
      • 헤더 체크박스 사용
      • 컬럼 푸터
      • HEADER와 FOOTER에 여러줄로 표시하기
      • 상단 요약 표시
      • 행 높이
      • 행 그룹핑
      • 그룹핑 API
      • 행 병합 그룹핑
      • 아이템 모델
      • JSON 데이터 가져오기
      • XML 데이터 가져오기
      • 그리드 Lazy Loading 구현
      • 마스터 디테일 예
      • provider 공유하기
      • 데이터 타입
      • 불린 타입 필드
      • 날짜 타입 필드
      • Subtypes
      • 그리드의 값 가져오기
      • 그리드에 값 넣기
      • 새로운 행 추가
      • 롤백
      • 검색
      • 그리드에서 페이징 처리 1
      • 그리드에서 페이징 처리 2
      • 행 Drag & Drop
      • Grid To Grid
      • 텍스트 렌더러
      • 체크 렌더러
      • 바 렌더러
      • 이미지 렌더러
      • 아이콘 렌더러
      • 도형 렌더러
      • 시그널 렌더러
      • 링크 렌더러
      • HTML 렌더러
      • 바코드 렌더러
      • 커스텀 렌더러 - 이미지버튼
      • 구글차트 연동
      • 시리즈 컬럼
      • 스파크 컬럼
      • 데이터 추가 또는 삽입
      • 데이터 수정
      • 데이터 삭제
      • 행 상태
      • 기본 편집기
      • Bootstrap Date Picker
      • Undo / Redo
      • 복사하기/붙여넣기
      • RealGrid2 스타일
      • 사용자 스타일 - 개요
      • 바디 영역 스타일
      • 헤더, 풋터, 상태바 스타일
      • 셀, 데이터 영역 스타일
      • 편집 영역 스타일
      • styleName 속성 및 콜백
      • 컬럼 동적 스타일
      • 행 동적 스타일
      • 셀 동적 스타일
      • RealGrid2 테마
      • 엑셀 내보내기
      • 행 그룹된 그리드 내보내기
      • 여러 레이아웃으로 구성된 그리드 내보내기
      • 다중 그리드 Excel 내보내기
      • Excel문서에 제목 추가하기
      • Mobile FormView
      • 대량 데이터 불러오기
      • 트리뷰
      • 트리 구현 - Array데이터
      • 트리 구현 - Object데이터
      • 트리 노드 조작하기
      • 트리 아이콘 1
      • 트리 아이콘 2
      • 트리 이벤트
      • 사용자 지정 컬럼 유효성 검사
      • 사용자 지정 행 유효성 검사
      • 전체 유효성 검사
      • 이벤트 발생 순서
      • 클릭 이벤트
      • 하이차트 연동 컬럼 선택
      • 하이차트 연동 컬럼 필터링
      • 하이차트 연동 행 선택
      • amchart 연동 체크 선택
      • amchart 연동 행 선택
      • 필드와 컬럼 일괄 생성
      • SPAN(컬럼그룹)
      • 행 상태에 따른 특정 컬럼 편집 제어
      • CheckBar에서 자식 노드 연동하여 체크하기
      • Excel Import

JSON 데이터 가져오기

RealGrid는 LocalDataProvider.fillJsonData() 함수를 이용해 JSON 포멧의 데이터를 읽어 올 수 있습니다.

JSON 데이터

RealGrid의 DataProvider에 입력할 수 있는 JSON 포멧의 데이터는 배열(Array)형 데이터와 동일한 구조를 갖습니다.

  1. 순수한 값(value)의 목록(list)인 구조, 즉 값의 배열
  2. name: value 쌍으로 이루어진 속성의 집합(collection)인 구조의 배열

위 두 가지 유형의 데이터 포멧은 왼쪽 메뉴 Array 데이터 가져오기에서 LocalDataProvider.setRows()함수를 이용해 GridView에 로드 할 수 있다는 사실을 확인 할 수 있습니다.

JSON 포멧의 데이터는 LocalDataProvider.fillJsonData()함수를 이용해 조금더 유연하게 데이터를 읽어 올 수 있습니다. 함수의 인자는 data와 DataFillOptions객체인 options가 있습니다.

options에 대해서는 아래 DataFillOptions 영역의 데모를 확인하세요.

name: value 집합 구조의 배열

var data = [
  {
    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"
  },
  {
    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"
  }
];

dataProvider.fillJsonData(data, { fillMode: "set" });

DataFillOptions

그리드에 데이터를 로드하기 위한 세 함수가 있습니다.

  • fillJsonData(data, options)
  • fillXmlData(data, options)
  • fillCsvData(data, options)

이 함수들에는 공통적으로 DataFillOptions형의 options라는 두번째 인자가 정의되어 있습니다.

DataFillOptions를 이용해 그리드를 데이터에 로드하기 위한 여러가지 옵션을 설정 할 수 있습니다.

fillMode속성으로 데이터를 채우는 방법을 선택 할 수 있습니다.

그리드의 모든 데이터를 지우고 아래 data를 채웁니다.

var data = [
  {
    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"
  },
  {
    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"
  }
];

dataProvider.fillJsonData(data, { fillMode: "set" });

그리드의 마지막행 뒤에 jsonData의 처음 한 행을 가져와 추가(Append) 합니다. 이 작업을 위해 DataFillOptions의 start: 0, count: 1 속성을 사용합니다.

var data = [
  {
    KorName: "김덕중",
    Gender: "여",
    Age: "53",
    Phone: "(064)5483-6874",
    ProductId: "149115669-00009",
    KorCountry: "캐나다",
    OrderDate: "2020-03-08",
    CardNumber: "5121-9931-3555-9853",
    Monetary: "HKD",
    StartDate: "2018-12-30",
    EndDate: "2022-01-16",
    ToMonth: "13",
    Month: "36",
    Year: "3",
    InterestRate: "0.32",
    SaveCost: "112000",
    SaveMaturity: "50480640",
    CurrentSave: "20805120",
    Rating: "3",
    BusinessProficiency: "14",
    Address: "서울특별시 양천구 신월동 115-15"
  },
  {
    KorName: "국영석",
    Gender: "남",
    Age: "63",
    Phone: "(044)7055-3032",
    ProductId: "738027655-00005",
    KorCountry: "부베 섬",
    OrderDate: "2020-05-01",
    CardNumber: "5571-3720-2975-7540",
    Monetary: "AUD",
    StartDate: "2019-08-15",
    EndDate: "2021-12-23",
    ToMonth: "5",
    Month: "28",
    Year: "2",
    InterestRate: "0.2",
    SaveCost: "84000",
    SaveMaturity: "15523200",
    CurrentSave: "4704000",
    Rating: "3",
    BusinessProficiency: "14",
    Address: "서울특별시 강남구 역삼동 707-9"
  }
];

dataProvider.fillJsonData(data, { fillMode: "append", start: 0, count: 1 });

새로 가져온 데이터들 중 2번째 데이터부터 하나의 데이터를 가져와 첫번째 자리에 끼워 넣습니다. 이 작업을 위해 DataFillOptions의 start: 1, count: 1, fillPos: 0 속성을 사용합니다.

var data = [
  {
    KorName: "김덕중",
    Gender: "여",
    Age: "53",
    Phone: "(064)5483-6874",
    ProductId: "149115669-00009",
    KorCountry: "캐나다",
    OrderDate: "2020-03-08",
    CardNumber: "5121-9931-3555-9853",
    Monetary: "HKD",
    StartDate: "2018-12-30",
    EndDate: "2022-01-16",
    ToMonth: "13",
    Month: "36",
    Year: "3",
    InterestRate: "0.32",
    SaveCost: "112000",
    SaveMaturity: "50480640",
    CurrentSave: "20805120",
    Rating: "3",
    BusinessProficiency: "14",
    Address: "서울특별시 양천구 신월동 115-15"
  },
  {
    KorName: "국영석",
    Gender: "남",
    Age: "63",
    Phone: "(044)7055-3032",
    ProductId: "738027655-00005",
    KorCountry: "부베 섬",
    OrderDate: "2020-05-01",
    CardNumber: "5571-3720-2975-7540",
    Monetary: "AUD",
    StartDate: "2019-08-15",
    EndDate: "2021-12-23",
    ToMonth: "5",
    Month: "28",
    Year: "2",
    InterestRate: "0.2",
    SaveCost: "84000",
    SaveMaturity: "15523200",
    CurrentSave: "4704000",
    Rating: "3",
    BusinessProficiency: "14",
    Address: "서울특별시 강남구 역삼동 707-9"
  }
];

dataProvider.fillJsonData(data, {
  fillMode: "insert",
  start: 1,
  count: 1,
  fillPos: 0
});

새로 가져온 데이터들 중 2번째 데이터부터 두개의 데이터를 가져와 현재 그리드의 두번째 데이터부터 덮어쓰기(update) 합니다. 이 작업을 위해 DataFillOptions의 start: 1, count: 2, fillPos: 0 속성을 사용합니다.

var data = [
  {
    KorName: "전우수",
    Gender: "여",
    Age: "73",
    Phone: "(051)2259-4592",
    ProductId: "969966274-00009",
    KorCountry: "페루",
    OrderDate: "2019-12-27",
    CardNumber: "5255-8067-8768-5495",
    Monetary: "THB",
    StartDate: "2018-04-11",
    EndDate: "2022-08-22",
    ToMonth: "22",
    Month: "52",
    Year: "4",
    InterestRate: "0.4",
    SaveCost: "40000",
    SaveMaturity: "45344000",
    CurrentSave: "20384000",
    Rating: "3",
    BusinessProficiency: "100",
    Address: "서울특별시 송파구 가락동 600"
  },
  {
    KorName: "이준원",
    Gender: "남",
    Age: "25",
    Phone: "(086)7381-3123",
    ProductId: "299037986-00005",
    KorCountry: "동티모르",
    OrderDate: "2019-06-14",
    CardNumber: "5182-7600-2022-5395",
    Monetary: "AUD",
    StartDate: "2018-06-02",
    EndDate: "2022-02-13",
    ToMonth: "20",
    Month: "44",
    Year: "3",
    InterestRate: "0.1",
    SaveCost: "152000",
    SaveMaturity: "36115200",
    CurrentSave: "20064000",
    Rating: "3",
    BusinessProficiency: "53",
    Address: "서울특별시 강남구 대치동 937"
  },
  {
    KorName: "안병은",
    Gender: "남",
    Age: "46",
    Phone: "(018)2861-7855",
    ProductId: "048679773-00001",
    KorCountry: "피지",
    OrderDate: "2020-11-01",
    CardNumber: "5172-0915-3934-2048",
    Monetary: "VND",
    StartDate: "2019-05-30",
    EndDate: "2021-06-09",
    ToMonth: "8",
    Month: "24",
    Year: "2",
    InterestRate: "0.39",
    SaveCost: "170000",
    SaveMaturity: "42268800",
    CurrentSave: "16809600",
    Rating: "4",
    BusinessProficiency: "81",
    Address: "서울특별시 은평구 갈현동 240-1"
  }
];

dataProvider.fillJsonData(data, {
  fillMode: "update", start: 1, count: 2, fillPos: 1
});