[]
        
(Showing Draft Content)

데이터 원본 동적 변경

테이블 시트는 웹페이지를 새로 고침하지 않고도 데이터 원본의 해당 데이터를 실시간으로 주입할 수 있는 기능을 제공합니다. 이 기능은 예를 들어, 라이브 서버에서 연결 오류가 발생했을 때 데이터 소스를 백업 서버로 전환하는 등의 다양한 상황에서 유용하게 사용할 수 있습니다.

데이터 원본을 동적으로 업데이트하려면 아래 단계를 따르시기 바랍니다:

  1. fromJSON 메서드를 호출합니다.

    spread.fromJSON(spreadJson);
  2. Promiseresolve 메서드에서 데이터 소스를 객체로 래핑하여 테이블의 datasource 옵션을 업데이트합니다.

    let myTable = spread.dataManager().tables["myTable"];
    myTable.options = { 
       remote: {               
           read: function () { 
               return Promise.resolve(dataSource); 
                   } 
             } 
    };
  3. 테이블의 fetch 메서드를 reload 인수를 사용하여 호출합니다. 이 단계는 데이터 원본을 새로고침하고, setDataView 메서드를 통해 업데이트된 데이터 원본을 시트에 반영합니다

    myTable.fetch(true).then(function()
    {
        let myView = myTable.views["myView"];
        let sheet = spread.getActiveSheetTab();
        sheet.setDataView(myView);
    });

참고: View의 fetch 메서드와 Table의 fetch 메서드는 동일한 reload 인수를 갖습니다. 따라서 setDataView 메서드를 사용하면 데이터 뷰를 다시 가져온 후 캐시 상태를 초기화할 수 있습니다.