getSaveString (method)

시트 내에 변경된 내용(입력(Added), 수정(Changed), 삭제(Deleted), 이동(Moved))을 querystring 형식의 문자열로 추출합니다.
추출한 데이터는 서버로 전송 후, 결과를 acceptChangedData 또는 applySaveResult를 이용해 직접 시트에 반영해야 합니다.
서버 응답(JSON) 구조와 관련된 상세 내용은 dataStructure를 참고하세요.

Syntax

string getSaveString( saveMode, col, urlEncode, delim, queryMode, validRequired, prefix, showAlert, saveAttr, saveExtraAttr );

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)를 무시하고 지정한 열의 데이터 유무에 따라 저장됨.
urlEncode boolean 선택 조합되는 문자열의 인코딩 여부(encodeURIComponent로 문자열을 인코딩함 )
queryMode별로 default가 달라짐
0(false):queryMode:0 (default)
1(true):queryMode:1/2 (default)
delim string 선택 queryMode값이 2인 경우에 데이터 사이 구분자 지정 (default : "\|")
queryMode number 선택 서버로 전달될 데이터 구조 설정
0:json 구조로 전달
ex)
Data={
"data":[
{"STATUS":"Added","ColName1":"홍길동","ColName2":25},
{"STATUS":"Changed","ColName1":"심청","ColName2":18}
]}
reqHeader속성에 {"Content-Type":"application/json"}를 추가시 앞에 "Data="이 제거되고 순수하게 json형식만 서버로 전송
1:QueryString 구조 전달 (default)
ex)
STATUS=Added&ColName1=홍길동&ColName2=25&STATUS=Changed&ColName1=심청&ColName2=18
2:열데이터 기준 QueryString 구조 전달
ex)
STATUS=Added|Changed&ColName1=홍길동|심청&ColName2=25|18
validRequired boolean 선택 데이터 필수 입력 항목(Required col 설정된 열)에 대한 검사 여부
0(false):필수 입력 항목 검사 안함
1(true):필수 입력 항목 검사 실행 (default)
Validation결과가 실패인 경우 규격
1. Validation 오류인 경우
- Code: IBS010, Message: RequiredError
prefix string 선택 열의 이름 앞에 설정할 문자열
여러개 시트를 한번에 서버로 보낼때 시트id_colName 형식으로 보낼 수 있음
ex) sheet_saName=홍길동&sheet_saId=839212 식으로 queryString이 만들어짐
(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"
saveExtraAttr boolean 선택 시트에 (col)Name으로 정의하지 않은 데이터가 doSearchloadSearchData함수를 통해 로드 된 경우, 함수 호출시 해당 데이터를 같이 추출할 지 여부.
로드 데이터 첫번째 행의 keyset을 기준으로 추출됨
0(false):시트에 (col)Name으로 정의 되지 않은 데이터 서버 전송 시 미포함 (default)
1(true):시트에 (col)Name으로 정의 되지 않은 데이터 서버 전송 시 포함
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 유효성 검사 실행

getSaveString 호출 시 validRequired, validSize, validEditMask, validResultMask 속성을 설정한 경우, 해당 옵션에 대한 유효성 검사(Validation)가 수행되며, 검사 결과에 따라 다음과 같은 코드(Code)메시지(Message)가 반환됩니다.

Code Message Description
IBS010 RequiredError validRequired 설정 시 필수 입력 항목 Validation 오류
IBS040 SizeError validSize 설정 시 사이즈 Validation 오류인 경우
IBS050 EditMaskError validEditMask 설정 시 EditMask Validation 오류
IBS060 ResultMaskError validResultMask 설정 시 ResultMask Validation 오류

Return Value

String

// 정상적인 처리시(querystring 형태)
"sa_name=홍길동&sa_id=02712&sa_dept=031&..."

// 저장(Added, Changed, Deleted) 대상이 없는 경우
""

// validRequired 설정 시 Validation 오류인 경우  
"RequiredError|IBS010|오류발생 행 id|오류발생 열 Name"

Example

// 열이름이 CHK인 열에 체크된 데이터만 추출한다.
// 데이터를 추출하면서 AA 컬럼에 Checked 속성도 추출한다.
var saveStr = sheet.getSaveString({col:"CHK",saveAttr:"AAChecked"});
$.ajax({
    url:"sheetSaveWorx.do",
    data:saveStr,
    success:function(data){
        // 저장성공시 처리
        sheet.acceptChangedData();
    }
})

Read More

Since

product version desc
core 8.0.0.0 기능 추가
core 8.0.0.4 saveAttr 기능 추가
core 8.1.0.32 saveExtraAttr 기능 추가
core 8.3.0.24 validSize, validEditMask, validResultMask 기능 추가