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 并且它可以很好地加载数据,但是一旦应用了排序,它就会更新排序标签购买网格数据未排序。到底是怎么回事?任何帮助最受赞赏...

4

4 回答 4

11

如果您将网格设置url和更改为,那么您的服务器代码也负责对数据进行排序,例如分页。如果您想一次加载网格的所有数据并希望 jqGrid 为您进行排序和分页,那么您应该使用option.datatype"json"loadonce: true

我建议您另外gridview: true在 jqGrid 中包含选项,替换pager: $('#gridt_summarypager')pager: '#gridt_summarypager',删除不存在的参数imgpath,并考虑使用autoencode: truejqGrid 的选项,它可以对所有不包含自定义格式化程序的列中的字符串进行 HTML 编码。

于 2013-06-11T10:17:31.533 回答
2
{ 
    name: "name", 
    index:"name", 
    **sortable: true,** 
    editable: true, 
    **sorttype: 'text',** 
    key: true
},

确保 sorttype 符合字段数据类型。例如,如果网格字段“名称”包含 int 数字,那么您应该有 sorttype: 'int'。也正如 Oleg 所提到的,您需要将 loadonce 设置为 true。pager: "#pager", gridview: true, rowNum: 5, loadonce:true, multiSort: true, rownumbers: true, viewrecords: true, rowList: [5, 10, 15],

于 2014-12-03T08:17:45.577 回答
0

包括 sortable: true 列以及 jqgrid 属性。

于 2015-09-07T09:46:44.250 回答
0

更改此参数值对我有用。

loadonce: true

于 2019-11-27T09:12:38.167 回答