getSaveJson (method)

시트 내에 변경된 내용(입력(Added), 수정(Changed), 삭제(Deleted), 이동(Moved))을 json 형식의 객체로 추출합니다.

Syntax

object getSaveJson( saveMode, col, validRequired, showAlert, saveAttr, useLevel, formData, saveExtraAttr, rows );

Parameters

Name Type Required Description
saveMode number 선택 상태별 데이터 추출 여부
0 : 전체데이터
1 : 전체데이터 중 Deleted 만 제외
2 : 수정된 데이터(Added,Changed,Deleted)) (default)
3 : 수정된 데이터(Added,Changed,Deleted)+이동한 데이터(Moved)
col string 선택 저장 기준 열의 열이름
특정 열을 지정하면 행의 상태(Added,Changed,Deleted)를 무시하고 지정한 열의 데이터 유무에 따라 저장됨.
validRequired boolean 선택 데이터 필수 입력 항목(Required col 설정된 열)에 대한 검사 여부 설정. (default: 1(true))

Validation결과가 실패인 경우 규격
1. 처리 대상이 없는 경우
- Code: IBS000, Message: NoTargetRows
2. Validation 오류인 경우
- Code: IBS010, Message: RequiredError
showAlert boolean 선택 validRequired 검사를 통과하지 못할 시 메세지 표시 여부(default: 0(false))
테이블
경고창
saveAttr string 선택 각 셀의 속성값을 같이 추출하고자 하는 경우 Name+속성명 형식으로 설정
여러개 속성을 추출하고자 하는 경우 ","를 구분자로 작성
ex) "sNameColor,sNoCanEdit"
useLevel boolean 선택 Tree기능 사용시 각 행의 Level(Depth)값을 추출되는 데이터에 포함할지 여부 (default: 1(true))

최 상위 노드를 1부터 시작하여 계산하며, "tLEVEL"이라는 이름으로 행 데이터에 추가됩니다.
"tLEVEL"은 각 메세지 파일(ex:ko.js)에서 "TreeLevelName"으로 변경할 수 있습니다.
Tree기능을 사용하는 시트에서 해당 속성을 0(false)로 설정시 saveMode:0을 통해 추출되는 데이터는 계층구조를 갖게 됩니다.
saveMode를 이용하여 전체 데이터가 아닌 일부 데이터를 추출 할 경우 데이터는 계층 구조를 가지지 않으며 "tLEVEL" 값은 모두 1이 됩니다.
formData boolean 선택 저장 데이터를 Form Data로 추출 할지 여부 (default: 0(false))

File 타입 저장 시 사용
saveExtraAttr boolean 선택 시트에 (col)Name으로 정의하지 않은 데이터가 doSearchloadSearchData함수를 통해 로드 된 경우, 함수 호출시 해당 데이터를 같이 추출할 지 여부. (default: 0(false))
로드 데이터 첫번째 행의 keyset을 기준으로 추출됨.
rows array[object] 선택 데이터 로우 객체 배열로 입력한 행에 대한 정보를 추출합니다. (default: null)

rows결과가 실패인 경우 규격
1. 처리 대상이 없는 경우
- Code: IBS020, Message: InvalidRows

Return Value

json 형식의 object

// 정상적인 처리시
{
    "data":[
        {"id":"AR1","ColName1":"12345","ColName2":"ABCDE" ...},
        {"id":"AR4","ColName1":"76411","ColName2":"HIJKL" ...},
        ...
    ]
}
// validRequired 오류시
{
    "Message":"RequiredError",
    "Code":"IB010",
    "row":오류 발생 행 객체,
    "col":오류 발생 열 Name,
    "data":[]
}

Example

// 각 컬럼에 수정된 데이터와 DESC 컬럼의 Color 속성값을 추출한다.
var saveJson = sheet.getSaveJson({saveMode:2, saveAttr:"DESCColor"});
$.ajax({
        type: 'post'
        ,async: true
        ,dataType: 'json'
        ,headers: {"X-Requested-With":"XMLHttpRequest"}
        ,contentType: "application/json; charset=utf-8"
        ,url: "/xgs/manage/sys/sawonTelSave.do"
        ,data: JSON.stringify(saveJson)
        , success: function(data) {
            // 저장 결과 반영
            sheet.acceptChangedData();
        }
        , error: function(data, status, err) {
            alert('서버와의 통신이 실패했습니다.');
        }
});

Read More

Since

product version desc
core 8.0.0.0 기능 추가
core 8.0.0.4 saveAttr,useLevel 기능 추가
core 8.0.0.5 formData 기능 추가
core 8.1.0.43 rows 기능 추가