시트 내에 변경된 내용(
입력(Added),수정(Changed),삭제(Deleted),이동(Moved))을 JSON 형식의 객체로 추출합니다.
추출한 데이터는 서버로 전송 후, 결과를 acceptChangedData 또는 applySaveResult를 이용해 직접 시트에 반영해야 합니다.
서버 응답(JSON) 구조와 관련된 상세 내용은 dataStructure를 참고하세요.
object getSaveJson( saveMode, col, validRequired, showAlert, saveAttr, useLevel, formData, saveExtraAttr, rows, validSize, validEditMask, validResultMask );
| 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 설정된 열)에 대한 검사 여부 설정.0(false):필수 입력 항목 검사 안함1(true):필수 입력 항목 검사 실행 (default) |
| showAlert | boolean |
선택 | validRequired, validSize, validEditMask, validResultMask 설정 시유효성 검사(Validation)를 통과하지 못한 경우 메시지 표시 여부 0(false):메시지 표시 안함 (default)1(true):메세지 표시![]() ![]() ※ 표시되는 메시지는 메세지 파일(예: ko.js등)에 정의된 내용을 사용합니다.(EditMaskError, SizeError, RequiredError, ResultMaskError) |
| 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으로 정의하지 않은 데이터가 doSearch나 loadSearchData함수를 통해 로드 된 경우, 함수 호출시 해당 데이터를 같이 추출할 지 여부. 로드 데이터 첫번째 행의 keyset을 기준으로 추출됨. 0(false):시트에 (col)Name으로 정의 되지 않은 데이터 서버 전송 시 미포함 (default)1(true):시트에 (col)Name으로 정의 되지 않은 데이터 서버 전송 시 포함 |
| rows | array[object] |
선택 | 데이터 로우 객체 배열로 입력한 행에 대한 정보를 추출합니다. (default: null) |
| validSize | boolean |
선택 | 사이즈 설정(Size col)에 대한 유효성 검사 여부 설정.0(false):사이즈 유효성 검사 안함 (default)1(true):사이즈 유효성 검사 실행 |
| validEditMask | boolean |
선택 | EditMask 설정(EditMask col)에 대한 유효성 검사 여부 설정.0(false):EditMask 유효성 검사 안함 (default)1(true):EditMask 유효성 검사 실행 |
| validResultMask | boolean |
선택 | ResultMask 설정(ResultMask col)에 대한 유효성 검사 여부 설정.0(false):ResultMask 유효성 검사 안함 (default)1(true):ResultMask 유효성 검사 실행 |
getSaveJson 호출 시 validRequired, rows, validSize, validEditMask, validResultMask 속성을 설정한 경우
해당 옵션에 대한 유효성 검사(Validation)가 수행되며, 검사 결과에 따라 다음과 같은 코드(Code)와 메시지(Message)가 반환됩니다.
| Code | Message | Description |
|---|---|---|
IBS000 |
NoTargetRows | 저장 대상(Added, Changed, Deleted) 행이 없는 경우 |
IBS010 |
RequiredError | validRequired 설정 시 필수 입력 항목 Validation 오류 |
IBS020 |
InvalidRows | rows에 지정한 행이 유효하지 않거나 처리 대상이 없는 경우 |
IBS040 |
SizeError | validSize 설정 시 사이즈 Validation 오류인 경우 |
IBS050 |
EditMaskError | validEditMask 설정 시 EditMask Validation 오류 |
IBS060 |
ResultMaskError | validResultMask 설정 시 ResultMask Validation 오류 |
json 형식의 object
// 정상적인 처리시
{
"data":[
{"id":"AR1","ColName1":"12345","ColName2":"ABCDE" ...},
{"id":"AR4","ColName1":"76411","ColName2":"HIJKL" ...},
...
]
}
// validRequired 오류시
{
"Message":"RequiredError",
"Code":"IB010",
"row":오류 발생 행 객체,
"col":오류 발생 열 Name,
"data":[]
}
// rows에 입력한 행 객체가 유효하지 않을 경우
{
"Message":"InvalidRows",
"Code":"IB020",
"data":[]
}
// 각 컬럼에 수정된 데이터와 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('서버와의 통신이 실패했습니다.');
}
});
| 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.32 | saveExtraAttr 기능 추가 |
| core | 8.1.0.43 | rows 기능 추가 |
| core | 8.3.0.24 | validSize, validEditMask, validResultMask 기능 추가 |