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

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

sorttype がフィールドのデータ型に準拠していることを確認してください。たとえば、グリッド フィールド「name」に 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 に答える