jqGrid 12

[Spring] 다국어 처리 시 locale이 제대로 처리되지 않는 문제

문제 상황로그인 실패 이력을 보여주는 그리드에서 실패 사유를 다국어 처리하려고 했다.최초에는 jqGrid formatter에서 직접 다국어 처리를 시도:colModel:[ {name:'failReason', index:'failReason', width:300, align:"left", formatter: function(cellvalue){ // spring:message를 직접 사용하려 했으나 JavaScript에서는 불가능 return ''; // 작동 안함 } }] 알고보니 spring:message는 JSP 처리 단계에서 서버 사이드로 처리되고,formatter는 그 이후 클라이언트 사이드에서 실행되기 때문에 동작할 수..

[jqGrid] 자주 쓰는 메서드 정리

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': 'Se..

개발노트/jqGrid 2025.02.10

[jqGrid] 기본 예제 (게시판 만들기)

프로젝트하면서 제일 많이 만드는 게시판 예제로 정리해봄.기본적인 CRUD랑 검색, 정렬 다 들어있음.   1. HTML 구조 검색 글쓰기     2. jqGrid 초기화 및 설정 $(document).ready(function() { initGrid(); initEvents();});function initGrid() { $("#boardGrid").jqGrid({ url: '/api/board/list', datatype: 'json', mtype: 'POST', colNames: ['번호', '제목', '작성자', '작성일', '조회수', 'boardId'], ..

개발노트/jqGrid 2025.01.23

[jqGrid] 주요 메서드와 이벤트 총정리

내가 보려고 카테고리별로 나눈 jqGrid의 주요 메서드와 이벤트 1. 데이터 관련 메서드일단 제일 많이 쓰는 데이터 가져오기/설정하기 메서드들// 데이터 가져오기$grid.getRowData(rowId) // 특정 행 데이터. 제일 자주 씀$grid.getDataIDs() // 모든 행 ID 배열. forEach 돌릴 때 씀$grid.getLocalRow(rowId) // 로컬 데이터에서 가져올 때$grid.getCell(rowId, colName) // 특정 셀만 필요할 때$grid.getCol(colName) // 컬럼 전체 값이 필요할 때$grid.getGridParam('data') // 그리드 전체 데이..

개발노트/jqGrid 2025.01.22

[jqGrid] MyBatis 페이징 처리

1. 페이징 처리의 핵심 요소1.1 jqGrid 페이징 파라미터page: 현재 페이지 번호rows: 한 페이지당 표시할 행 수sidx: 정렬 기준 컬럼sord: 정렬 방향 (asc/desc)_search: 검색 여부total: 전체 페이지 수records: 전체 레코드 수1.2 핵심 클래스 구조public class BoardVO { private int page = 1; // 현재 페이지 private int rows = 20; // 페이지 사이즈 private String sidx; // 정렬 컬럼 private String sord; // 정렬 방향 // jqGrid 페이징용 offset 계산 public int getOffset..

개발노트/jqGrid 2025.01.15

[Spring] jqGrid 데이터 연동 시 500에러 해결 (feat. @RequestBody)

⚠️ 오늘 발생한 문제들1. 데이터가 안 나오고 자꾸 "게시물이 없습니다" 뜸개발자도구 보니까 500 에러 발생원인: 컨트롤러에서 @RequestBody 때문이었음jqGrid는 form 데이터로 보내는데, 컨트롤러는 JSON만 받으려고 해서 충돌// 이렇게 했다가 실패@RequestBody BoardVO boardVO // JSON만 받으려고 함// 이렇게 수정하니까 됨BoardVO boardVO // 그냥 일반 파라미터로 받기   2. 데이터는 오는데 화면에 안 보임서버 로그 찍어보니 데이터는 잘 나오는데 화면에서 안 보임원인: jqGrid는 rows라는 키로 데이터를 찾는데, 서버는 list로 보내고 있었음// 서버에서 보내는 데이터{ "list": [ { "..

[jqGrid] 이벤트 핸들링 - ready, loadComplete, onSelectRow, change

1. 페이지 로드 시 초기 이벤트 설정$(document).ready(function ($) { // 날짜 선택기 초기화 $("#startDate").datepicker(); $("#endDate").datepicker(); // 버튼 초기 상태 설정 $('#editBtn').prop("disabled", true); $('#printBtn').prop("disabled", true); // 검색 버튼 클릭 이벤트 $('#searchBtn').click(function (e) { $("#currentPage").val(1); searchData(); e.preventDefault(); }); // 그리드 반..

개발노트/jqGrid 2025.01.02

[jqGrid] 그리드 데이터 다루기 - 값 가져오기/수정하기

행 데이터 가져오기// 선택된 행의 데이터 가져오기const rowId = $("#grid").jqGrid('getGridParam', 'selrow');const rowData = $("#grid").jqGrid('getRowData', rowId);// 특정 행의 모든 데이터const specificRowData = $("#grid").jqGrid('getRowData', '행_ID');  셀 값 가져오기// 특정 셀의 값 가져오기const cellValue = $("#grid").jqGrid('getCell', rowId, 'columnName');// getCellValue 사용const value = $("#grid").jqGrid('getCellValue', rowId, 'columnName'..

개발노트/jqGrid 2025.01.01