kimss
62
2018-11-20 10:34:29 작성 2018-11-20 10:35:03 수정됨
7
2349

jqGrid 검색(조회)기능


안녕하세요!! 초보개발자입니다.

jqGrid 데이터 셋팅 과정에서 문제가 있어 질문 드립니다.


현재 검색버튼을 누르면 검색조건을 서버로 보내

검색조건에 맞는 DB데이터를 가져온 후, 새로운 데이터를 그리드에 그려주는 작업을 하고 있습니다.


검색조건을 보내고 데이터를 가져오는것 까지는 무리없이 되는데,

가져온 데이터를 그리드에 그려주는 부분에서 난항을 겪고 있습니다.


검색버튼 클릭시 함수는 아래와 같습니다.

$("#target").on('submit', function() {

	var formData = $("#target").serialize();

	$.ajaxSetup({
		async : false
	});
	$.ajax({
		type : "POST",
		url : "./Test.jsp",
		cache : false,
		data : formData,
		success : onSuccess,
		error : onError
	});

	function onSuccess(json, status) {

		var test = {data:json};
		alert(json);
										 
                $("#list").jqGrid("clearGridData",true);
										 
                $("#list").setGridParam(test);
                //$("#list").jqGrid('setGridParam', {data:json}).trigger('reloadGrid');

		//alert($.trim(json));

	}
	 function onError(data, status) {
		alert("error");
	}
});


target은 Form id이고, submit 클릭시 위와 같은 로직을 수행하게 되어있습니다.




- 검색버튼 클릭시 서버에서 불러온 값으로 데이터를 새로 세팅하고 싶습니다.

- json에 담긴 데이터는 alert로 확인해본 결과  [{"a":"123", "b":"456"}, {...}, {...}]과 같은 형태입니다.

- tigger('reloadGrid') 사용시 기존 데이터를 불러오는 url을 재참조하게 되어 이전값을 불러옵니다.

- 이전 데이터를 불러오는 url을 삭제하면 reload시 이전값을 재참조하는일은 없으나, 새로 가져온 값으로 데이터가 세팅되지 않습니다.


도움 부탁드립니다!ㅠㅠ

0
  • 답변 7

  • 개꿀
    1k
    2018-11-20 11:02:17

    저 json에 담긴 데이터가 배열로 받아온거면  그대로 json 넣어주시면 되고

    텍스트라면 JSON.parse 변환후에 넣어주심 될듯




  • 바나나킥
    166
    2018-11-20 11:14:59

    데이터가 제대로 설정되었다면

    reload 혹은 refresh 이벤트를 발생시켜서 그리드를 새로고침해보세요.

    https://stackoverflow.com/questions/28320787/reload-jqgrid-with-new-data

  • kimss
    62
    2018-11-20 11:27:01

    옥강이 님 댓글 감사합니다.

     [{"a":"123", "b":"456"}, {...}, {...}]의 배열형태입니다.

    $("#list").jqGrid('setGridParam', {data:json}).trigger('reloadGrid');

    와 같은 형태로 넣었으나 반응이 없었습니다



    바나나킥 님 댓글 감사합니다.

    trigger 에서 reloadGrid를 했으나 반응이 없었고, unload/clearGridData 모두 반응이 없었습니다.

  • 바나나킥
    166
    2018-11-20 13:14:37

    https://okky.kr/article/359013?note=1138600


    이쪽 글 한번 참고해보세요.

  • code-01
    1k
    2018-11-20 17:35:45

    https://shj7242.github.io/2018/01/02/jQuery11/

    참고해보세요. 

  • 개꿀
    1k
    2018-11-21 12:44:27

    kimss 그리드 컬럼 name 이랑 jsondata 키 name 이랑 확인 한번해보세용~

    왜안되징...

  • kimss
    62
    2018-11-30 10:25:51

    모두 댓글 감사드립니다! 덕분에 해결했습니다

    데이터 타입 재정의를 해주니 되네요...흠..

  • 로그인을 하시면 답변을 등록할 수 있습니다.