[]
        
(Showing Draft Content)

파일 가져오기 이벤트 바인딩

파일 가져오기 작업 중에 SpreadJS 디자이너 컴포넌트에 기능을 추가할 수 있습니다.

바인딩 메서드

디자이너 컴포넌트는 Designer 클래스에서 이벤트 바인딩 메서드인 bind, unbind, unbindAll을 제공합니다. 이 메서드들은 디자이너 컴포넌트에서 이벤트를 추가하거나 제거하는 데 도움이 됩니다.

메서드

설명

bind

디자이너 컴포넌트에 이벤트를 바인딩합니다. 이벤트 유형과 이벤트 발생 시 실행할 함수를 인자로 받습니다.

unbind

디자이너 컴포넌트에 바인딩된 이벤트를 제거합니다. 이벤트 유형과 바인딩을 해제할 함수를 인자로 받습니다.

unbindAll

디자이너 컴포넌트에 바인딩된 모든 이벤트를 제거합니다.

이벤트

디자이너 컴포넌트는 Designer.Events 클래스에서 파일 가져오기 관련 이벤트인 FileLoading과 FileLoaded를 제공합니다. 이 이벤트들은 bind 메서드에서 문자열로 전달되어 SpreadJS 디자이너 컴포넌트에서 사용자 지정 기능을 수행할 수 있게 합니다.

이벤트

설명

FileLoading

Spread.Sheets.Designer 파일 작업으로 인해 파일이 로드될 때 발생합니다.

FileLoaded

Spread.Sheets.Designer 파일 작업으로 인해 파일이 로드된 후 발생합니다.

이 이벤트들은 JSON, Excel, CSV 파일을 SpreadJS로 가져올 때 발생하지만, FileType 열거형 옵션(Json, Excel, CSV 등)을 사용해 형식별 이벤트도 지정할 수 있습니다.

예제

다음 코드 예제는 가져온 파일 형식이 Excel이고 워크시트 수가 3개 이상일 경우 FileLoading 이벤트를 설정해 워크시트 수를 표시합니다. 또한 파일 가져오기가 완료되면 메시지를 표시합니다.

var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById("designerHost"), '', spread);

// bind 메서드에서 FileLoading 이벤트 사용하기
designer.bind(GC.Spread.Sheets.Designer.Events.FileLoading, function(type, message){
    if (message.fileType = GC.Spread.Sheets.Designer.FileType.Excel){
        let spreadJsonData = message.data;
        if(spreadJsonData.sheetCount >= 3) {
            window.alert("Number of worksheets: " + spreadJsonData.sheetCount);
        }
    };
});            

// bind 메서드에서 FileLoaded 이벤트 사용하기
designer.bind(GC.Spread.Sheets.Designer.Events.FileLoaded, function(event,data){
    window.alert("File has loaded");
});

// unbind 메서드를 사용하여 FileLoaded 이벤트 제거하기
designer.unbind(GC.Spread.Sheets.Designer.Events.FileLoaded);

// unbindAll 메서드를 사용하여 모든 이벤트 제거하기
designer.unbindAll();