저장 작업을 위해 서버 호출시 서버에서 리턴되어야 할 "응답 데이터"의 형식을 정의합니다.



getChangedData 메소드로 수정된 데이터만 추출 시


서버에 request로 보내지는 Data 객체는 다음과 같은 사항을 포함합니다.


  1) 변경 대상이 되는 셀의 행 id

  2) 셀 변경 사항의 종류(추가/삭제/변경)

  3) 변경 대상이 되는 셀의 열이름을 프로퍼티로 하고 해당하는 프로퍼티의 값으로 변경된 데이터 값


Data: {"IO": { }, "Changes": [{"id": "AR1", "Changed": 1, "열이름": "변경된 값"}]}




저장 작업 후 서버 응답 데이터 규격


IBSheet8  의 저장 데이터는 반드시 IO > Result  가 포함되어 리턴 되어야 합니다.


// 서버에서 IBSheet8로 보낼 응답 규격

{"IO": {"Result": 0 , Message:"저장 되었습니다."}} // 성공 ( Result>= 0  성공)
{"IO": {"Result": -100, Message:"오류내용..." }} // 실패  (Result<0  실패 )


// 서버 예제

<%@ page language="java" contentType="application/json; charset=UTF-8"  pageEncoding="UTF-8"%>
<%@ page import="java.util.*, org.json.*"%>
<%
    request.setCharacterEncoding("utf-8");
    response.setContentType("application/json");
    response.setStatus(200);

    JSONObject result = new JSONObject(); // 서버에서 시트로 보낼 JSON 형식의 통신 관련 객체
    JSONObject IO = new JSONObject(); // 결과를 담고 있는 객체
    try {
        if(조건) {
           // 결과를 담고 있는 객체에 Result 프로퍼티로 성공/실패 여부를 보냅니다. 
           //0으로 설정 시 성공. -2 ~ -9로 설정 시 실패. 실패하는 경우 시트에서 오류 메시지를 띄웁니다.
            IO.put("Result", 0); 
            // 서버에서 시트로 전달할 메시지(onAfterSave 이벤트의 message 인자로 받을 수 있습니다)
            IO.put("Message", "성공");
        } else {
            IO.put("Result", -200);
            IO.put("Message", "실패");
        }

        result.put("IO", IO);
    } catch(Exception ex) {
        result.put("Exception", ex);
    }
    out.print(result);
%>


저장 작업시 서버에로 리턴한 데이터는 onAfterSave 이벤트를 통해 확인하실 수 있습니다.