2012-04-08 2 views
0

페이지가로드 될 때 모든 열 머리글이 있지만 데이터 행이없는 JQGrid를 표시하려고합니다.열 머리글이있는 빈 JQGrid 표시

자동 완성을 통한 사용자 선택에 따라 JqGrid에 데이터를 채우려합니다.

페이지로드 중에 매번 표가 자동으로 채워지는 것이 문제입니다.

어떻게이 문제를 해결할 수 있습니까?

이 내가 URL을 제공하지 마십시오 VS2008 MVC2로

jQuery('#jgrid').jqGrid({ 
    autowidth: true, 
    altRows: true, 
    altclass: 'grdAltRwClr', 
    datatype: 'xml', 
    forceFit: true, 
    gridview: true, 
    height: 290, 
    mtype: 'post', 
    rowList: [10, 20, 30], 
    rowNum: 10, 
    pager: '#pager', 
    pagerpos: 'right', 
    recordpos: 'left', 
    rownumbers: false, 
    scrollrows: false, 
    sortname: 'roledtlid', 
    toolbar: [true, "top"], 
    url: rootPath + 'RoleDetail/JGridData', 
    beforeSelectRow: function(rowid, e) { return false; }, 
    gridComplete: function() { GridComplete() }, 
    colModel: [ 
      { name: 'act', label: 'View', resizable: false, search: false, sortable: false, title: false, width: 6, index: 'act' } 
     , { name: 'roledtlid', label: 'R.Detail id', width: 15, index: 'roledtlid' } 
     , { name: 'roleid', label: 'Role id', width: 10, index: 'roleid' } 
     , { name: 'rolename', label: 'Role Name', width: 25, index: 'rolename' } 
     , { name: 'pageid', label: 'Page ID', width: 10, index: 'pageid' } 
     , { name: 'pgname', label: 'Page Name', width: 30, index: 'pgname' } 
     , { name: 'canadd', label: 'Add', width: 10, index: 'canadd' } 
     , { name: 'canedit', label: 'Edit', width: 10, index: 'canedit' } 
     , { name: 'candel', label: 'Delete', width: 10, index: 'candel' } 
     , { name: 'canview', label: 'View', width: 10, index: 'canview' } 
     ] 
}); 

감사

답변

2

을 그리드를 사용하고 방법이다. 대신 데이터 유형을 "local"로 설정하고 다음과 비슷한 코드를 사용하십시오.

var mySearchData = // Get your search data... 

    $.post('@Url.Action("Getars")', mySearchData, function(gridData) { 
     var rowIds = $('#carGrid').jqGrid('getDataIDs'); 

     for (var i = 0, len = rowIds.length; i < len; i++) { 
      var currRow = rowIds[i]; 
      $('#carGrid').jqGrid('delRowData', currRow); 
     } 

     $('#carGrid').jqGrid('setGridParam', { data: gridData }).trigger('reloadGrid'); 
    }).error(function (jqXHR, textStatus) { 
     app.showErrorAlert(jqXHR.responseText); 
    }); 
} 
+0

thanks mate. 아이디어를 얻었다. 또한 왜 URL을 변경합니까? 간단히 작업 한 데이터 유형을 변경합니다. 이제 데이터 유형을 재설정하고 그리드를 채우기 위해 새로 고침을 트리거 할 수 있습니까? 만약 그렇다면 그것은 더 쉬운 일이 아닐까요? – Deb

+0

나는 데이터 타입을 바꿀 수 있다고 생각하고 reloadGrid를 호출한다. 나는 한번도 시도하지 않았다. –