저장 작업을 위해 서버 호출시 서버에서 리턴되어야 할 "응답 데이터"의 형식을 정의합니다.
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 이벤트를 통해 확인하실 수 있습니다.