2013-06-11 3 views
1
$("#grid").jqGrid({ 
     datatype: 'local', 
     mtype: 'GET', 
     loadui: 'block', 
     altRows: true, 
     altclass: "myAltRow", 
     multiselect: false, 
     recordpos: "right", 
     pagerpos: "center", 
     pager: $('#gridt_summarypager'), 
     pginput: false, 
     rowNum: 100, 
     recordtext: "Showing {0} - {1} of {2}", 
     viewrecords: true, 
     sortname: 'Project', 
     sortorder: 'asc', 
     colNames: ['ProjectID', '<%: Project %>', '<%: ProjectTitle %>' , 'ProjectItemID', '<%: usProjectItem %>', 'Hours To Authorise', 'Hours Not Posted', 'Hours Rejected', 'Last 12 Months'], 
     colModel: [ 
     { name: 'ProjectID', index: 'ProjectID', width: 0, hidden: true}, 
     { name: 'Project', index: 'Project', width: 90, align: 'left', formatter: htmlEncodedString }, 
     { name: 'ProjectTitle', index: 'ProjectTitle', width: 90, align: 'left', formatter: htmlEncodedString }, 
     { name: 'ProjectItemID', index: 'ProjectItemID', width: 0, hidden:true }, 
     { name: 'ProjectItem', index: 'ProjectItem', width: 100, align: 'left', formatter: htmlEncodedString }, 
     { name: 'HoursToAuthorise', index: 'HoursToAuthorise', width: 125, align: 'right', formatter: timesheetsProjectToAuthoriseQueryFormat }, 
     { name: 'HoursNotPosted', index: 'HoursNotPosted', width: 125, align: 'right', formatter: timesheetsProjectUnpostedQueryFormat<% if (!(bool)ViewData["PostingEnabled"]) { %>, hidden: true <% } %> }, 
     { name: 'HoursRejected', index: 'HoursRejected', width: 125, align: 'right', formatter: timesheetsProjectRejectedQueryFormat }, 
     { name: 'HoursSubmitted12Months', index: 'HoursSubmitted12Months', width: 125, align: 'right', formatter: timesheetsProjectYearQueryFormat }], 
     imgpath: '../../Scripts/css/ui-lightness/images', 
     height: 145, 
     shrinkToFit: false, 
     hoverrows: false, 
     loadError: function (xhr, st, err) { 
      if (xhr.status == 200) { 
       window.location = '<%= loginPage %>'; 
      } 
      else if (xhr.status == 500) { 
       $('#grid_summary_errors').html(xhr.statusText); 
      } 
     }, 
     beforeSelectRow: function(rowid, e) { 
      /* disable row selection */ 
      return false; 
     }, 
     onSortCol: function (index, columnIndex, sortOrder) { 
      var col = $("#grid_summarygrid").getGridParam('colNames'); 
      var label = "Ordered by " + col[columnIndex] + " " + sortOrder + "ending"; 

      $("#gridsort").text(label); 
     } 
}); 


    $("#grid").setGridParam({ url: '<%= Url.Action(dataMethod, controllerName)%>?qid=xxx', page: 1, datatype: "json" }) 
         .trigger('reloadGrid'); 

В настоящее время используется jqGrid 4.4.1, и он загружает данные в порядке, но после сортировки применяется обновление сортировки. Что происходит? Любая помощь наиболее ценится ...jqGrid - сортировка не работает

+0

Можете ли вы имитировать то же самое на jsfiddle? – dreamweiver

ответ

8

Если установить url и изменить datatype сетки к "json" затем код сервера отвечает за сортировку данных как для подкачки тоже. Если вы хотите загрузить все данные для сетки сразу и хотите, чтобы jqGrid делал сортировку и подкачку для вас, тогда вы должны использовать опцию loadonce: true.

Я рекомендую вам дополнительно включить gridview: true опции в jqGrid, замените pager: $('#gridt_summarypager') на pager: '#gridt_summarypager', удалить не существующий параметр imgpath и рассмотреть возможность использование autoencode: true варианта jqGrid, что делает HTML кодирования строк во всех столбцах, которые не содержат пользовательский форматирования.

+0

'loadonce: true' решил мою проблему. Благодаря! – earl3s

+0

@ earl3s: Добро пожаловать! – Oleg

2
{ 
    name: "name", 
    index:"name", 
    **sortable: true,** 
    editable: true, 
    **sorttype: 'text',** 
    key: true 
}, 

Убедитесь, что sorttype соответствует типу данных полей. например, если поле «имя» сетки содержит номера int, тогда вы должны иметь sorttype: 'int'. Также, как упоминал Олег, вам нужно установить loadonce в true. пейджера: "#pager", GridView: правда, RowNum: 5, loadonce: правда, Multisort: правда, rownumbers: правда, viewrecords: истинные, rowList: [5, 10, 15] ,

0

Включает сортировку: true в столбце, а также свойство jqgrid.

Смежные вопросы