jqGrid를 쓰면서 자주 사용했던 메서드들 총정리
나중에 또 까먹을까봐 기록해두는 중... 🤔
1. setRowData
그리드의 특정 행 데이터를 업데이트할 때 사용한다.
문법
$("#grid").jqGrid('setRowData', rowid, data, cssp)
매개변수
- rowid: 업데이트할 행의 ID (필수)
- data: 업데이트할 데이터 객체 (필수)
- cssp: CSS 속성 (선택)
사용 예시
// 단일 컬럼 업데이트
$("#myGrid").jqGrid('setRowData', rowId, {'name': 'John'});
// 여러 컬럼 동시에 업데이트
$("#myGrid").jqGrid('setRowData', rowId, {
'name': 'John',
'age': 25,
'city': 'Seoul'
});
// CSS 스타일 적용하면서 업데이트
$("#myGrid").jqGrid('setRowData', rowId,
{'status': '완료'},
{color: 'blue'}
);
2. getRowData
특정 행의 데이터를 가져올 때 쓴다. 데이터 수정하기 전에 현재 값 확인할 때 자주 썼음.
문법
$("#grid").jqGrid('getRowData', rowid)
사용 예시
// 특정 행의 전체 데이터 가져오기
var rowData = $("#myGrid").jqGrid('getRowData', 1);
console.log('행 데이터:', rowData);
// 가져온 데이터에서 특정 컬럼값만 사용
var name = rowData.name;
var age = rowData.age;
// 데이터 검증에 활용
if(rowData.status === '완료') {
alert('이미 처리된 데이터입니다.');
return;
}
3. addRowData
새로운 행을 추가할 때 사용한다. position 파라미터로 추가할 위치도 지정할 수 있어서 편리함.
문법
$("#grid").jqGrid('addRowData', rowid, data, position, srcrowid)
매개변수
- rowid: 새로운 행의 ID
- data: 추가할 행 데이터
- position: 추가할 위치 ('first', 'last', 'before', 'after')
- srcrowid: position이 'before'나 'after'일 때 기준이 되는 행 ID
사용 예시
// 마지막에 행 추가
$("#myGrid").jqGrid('addRowData', 1, {
name: '홍길동',
age: 25,
city: '서울'
}, 'last');
// 특정 행 앞에 새로운 행 추가
$("#myGrid").jqGrid('addRowData', 2, {
name: '김철수',
age: 30,
city: '부산'
}, 'before', 1);
4. getDataIDs
그리드의 모든 행 ID를 배열로 가져온다. 전체 데이터를 순회하면서 처리할 때 유용하게 썼다.
문법
$("#grid").jqGrid('getDataIDs')
사용 예시
// 모든 행 ID 가져오기
var allRows = $("#myGrid").jqGrid('getDataIDs');
// 가져온 ID로 전체 데이터 처리
for(var i = 0; i < allRows.length; i++) {
var rowId = allRows[i];
var rowData = $("#myGrid").jqGrid('getRowData', rowId);
// 각 행에 대한 처리
if(rowData.status === '대기중') {
$("#myGrid").jqGrid('setRowData', rowId, {
'status': '처리중',
'updateDate': new Date().toISOString()
});
}
}
5. setCell
특정 셀의 값만 변경할 때 사용한다. setRowData보다 간단히 쓸 수 있어서 자주 활용했음.
문법
$("#grid").jqGrid('setCell', rowid, colname, data, css)
사용 예시
// 특정 셀 값만 변경
$("#myGrid").jqGrid('setCell', 1, 'status', '완료');
// 스타일도 함께 변경
$("#myGrid").jqGrid('setCell', 1, 'status', '완료', 'text-success');
// 여러 스타일 적용
$("#myGrid").jqGrid('setCell', 1, 'status', '실패', {
color: 'red',
'font-weight': 'bold'
});
이렇게 정리하고 보니 생각보다 많이 썼네... 😅
나중에 시간 나면 더 자주 쓰는 메서드들도 추가로 정리해야겠다.
'개발노트 > jqGrid' 카테고리의 다른 글
[jqGrid] 기본 예제 (게시판 만들기) (2) | 2025.01.23 |
---|---|
[jqGrid] 주요 메서드와 이벤트 총정리 (0) | 2025.01.22 |
[jqGrid] jqGrid + MyBatis로 오름차/내림차 동적 정렬 구현하기 (1) | 2025.01.20 |
[jqGrid] MyBatis 페이징 처리 (1) | 2025.01.15 |
[jqGrid] 이벤트 핸들링 - ready, loadComplete, onSelectRow, change (3) | 2025.01.02 |