1. 회원정보 등록의 예를 들면, "신규생성" 버튼을 눌렀을때 로우가 추가 된 후, 바로 에디트 모드로 전환된다.
2. 로우에 데이터 입력이 끝난 후, "저장" 버튼을 눌렀을때 해당 로우의 입력된 데이터를 서버로 저장해야할 필요가 있다.
이럴 경우, 새로 생성된 로우가 어떤 로우인지 알아야하는데 이를 알기위해서는 에디트 모드가 된 로우가 어떤 로우인지에 대해서 알 수 있는 방법을 아직까지 알아내지 못했다.
이를 대체할 수 있는 방법으로 에디트 모드로 전환되었을때 해당 로우를 선택하는 트리거를 발생시키면 되지 않을까 싶어서 방법을 찾아보았는데 아래와 같은 방법으로 로우를 선택할 수 있다.
$("#createUser").on("click", function(){
var totalRowCount = $("#userList").getRowData().length;
var rowid;
if(totalRowCount == 0)
{
rowid = 1;
}
else
{
rowid = totalRowCount + 1;
}
var rowData = {USER_ID:"", USER_PASS:"", USER_NAME:"", USER_PHONE:"", USER_LEVEL:"", ETC:""};
// 로우 생성.
$("#userList").addRowData(rowid, rowData);
// 생성된 로우의 체크박스 체크.
$("#jqg_userList_" + rowid).attr("checked", true);
$("#userList").jqGrid("editRow", rowid, {
keys: false
});
$("#userList").jqGrid("setSelection", rowid);
});
$("#saveUser").on("click", function(){
var gr = jQuery("#userList").jqGrid('getGridParam','selrow');
alert(gr);
});
--> setSelection 메서드를 이용해서 특정 로우를 선택할 수 가 있다.
--> "저장" 버튼을 클릭했을 경우, getGridParam 메서드의 selrow 파라미터를 이용해서 선택된 로우에 대한 저장 처리를 할 수 가 있다. getGridParam 메서드는 선택된 로우에 대한 rowid를 반환한다.