2013-12-14 2 views
0

동적 열 바인딩을 사용하여 jqgrid를 바인딩하지만 SortColumn 또는 sidx를 가져 오지 못합니다. 하지만 정적 열 바인딩 시도 할 때 잘 작동합니다. 구속력있는 jqGrid 내 코드는 아약스 호출에서 점점sortcolumn을 동적 열 바인딩으로 정의하지 않았습니다.

jQuery("#dataList").jqGrid({ 
     url: gridDataUrl, 
     datatype: "json", 
     colNames: columnNames, 
     colModel: colModel, 
     autowidth: true, 
     width: 'auto', 
     height: 'auto', 
     rowNum: 10, 
     rowList: [10, 20, 30], 
     scrolling: false, 
     shrinktofit: true, 
     pager: '#pager', 
     // scrollrows: true, 
     sortname: 'Name', 
     rownumbers: false, 
     rownumWidth: 30, 
     viewrecords: true, 
     sortorder: "aesc", 
     multiselect: false, 
     imgpath: gridimgpath, 
     editurl: "/Admin/PerformCRUDAction" + "?lookupId=" + $('#LookUp').val(), 
     inlineData: { 
      jsondata: function() { 
       var selRowId = $("#dataList").jqGrid('getGridParam', 'selrow'); 
       getActualRowData(selRowId); 
       var jsonOfLog = JSON.stringify(myKeyValuePairs); 
       return jsonOfLog; 
      } 
     }, 
     onSelectRow: null 
    }).navGrid("#pager", 
    { refresh: false, add: false, edit: false, del: false, search: false }, 
     {}, // settings for edit 
     {}, // settings for add 
     {}, // settings for delete 
     {} // Search options. Some options can be set on column level 
); 

열 모델은 서버 측에서

var colModel= [ 
        { index: 'Id', name: 'Id', align: 'center', 'hidden': true, editable: false }, 
       { index: 'Value', name: 'Value', align: 'center', editable: true, editrules: { custom: true, custom_func: myvaluecheck } }, 
       { index: 'Name', name: 'Name', align: 'center', editable: true, editrules: { custom: true, custom_func: CheckName } }, 
       { 
        name: 'myac', width: 80, fixed: true, sortable: false, resize: false, formatter: 'actions', 
        formatoptions: { 
         keys: true, 
         onEdit: null, 
         onSuccess: null, 
         onError: null, 
         afterSave: null, 
         afterRestore: null, 
         delOptions: { 
          onclickSubmit: function (rp_ge, rowid) { 
           var selRowId = $('#dataList').jqGrid('getGridParam', 'selrow'); 
           var celValue = $('#dataList').jqGrid('getCell', selRowId, 'Id'); 
           Delete(celValue); 
           debugger; 
           rp_ge.processing = true; 
           $("#dataList").delRowData(rowid); 
           $("#delmod" + grid[0].id).hide(); 
           if (grid[0].p.lastpage > 1) { 
            grid.trigger("reloadGrid", [{ page: grid[0].p.page }]); 
           } 
           return true; 
          }, 
          processing: true 
         } 
        } 
       } 

코드를 정렬 할 버튼을 클릭 아마

public JsonResult GetGridData(GridSettings gridSettings,string sord,string sidx) 
    {} 

답변

관련 문제