如何按一列对jqgrid进行排序

how to sort the jqgrid by one column

这里新鲜,jqgrid 新鲜。我对给定的 jqgrid 排序有一些问题 column.please 给我一个例子,下面是我的代码。

 function gridList() {
    var $gridList = $("#gridList1");
    $gridList.dataGrid({
        mtype: 'Get',
        url: '@Url.Action("GetMonthEnrollPlanFinishRateData")',
        postData: { },

        height: $(window).height() - 128,
        colModel: [
            {
                label: "主键", name: "Id", hidden: true, key: true
            },
            { label: '真实姓名', name: 'RealName', width: 150, align: 'left' },
            { label: '本月目标', name: 'CurrentMonthPlan', width: 160, align: 'left'},
            { label: '本月招生', name: 'CurrentMonthFinish', width: 160, align: 'left' },
            { label: '完成率Hidden', name: 'FinishRateHidden', width: 150, align: 'left', hidden: true },
            { label: '完成率', name: 'FinishRate', width: 150, align: 'left' },
            { label: '状态', name: 'Status', width: 150, align: 'left' },
        ],
        pager: '#gridPager1',


        viewrecords: true,
        //sortname: "CurrentMonthPlan",
        //sortorder: "asc",
        ////pginput: true,
        ////caption: "",
        //sortable: true,
    });
}

如果你需要按FinishRate列对网格进行排序,那么你应该添加jqGrid的sortname: "FinishRate"参数。它会将附加参数 sidx=FinishRate 发送到 url: '@Url.Action("GetMonthEnrollPlanFinishRateData")'。顺便说一下,我不确定你是想使用 XML 还是 JSON 格式的数据与服务器通信。您应该添加 datatype: "json" 如果服务器 ('@Url.Action("GetMonthEnrollPlanFinishRateData")') returns JSON 数据。

了解 jqGrid 允许您两种替代方案:服务器端或客户端的排序、分页和filtering/searching很重要。如果网格中的总行数不是太大(例如 <1000 或 <10000),则建议使用客户端方案。您只需将 loadonce: trueforceClientSorting: true 选项添加到网格和服务器中所有项目的 return 数组。 jqGrid 会自动为你排序数据。重要的是,只有使用 free jqGrid fork.

才能使用 forceClientSorting: true 选项

如果您使用旧版本的 jqGrid 或不是免费的 jqGrid,那么您将不得不在本地对数据进行排序或使用 the answer.

中描述的技巧

如果网格中有大量项目,则无法使用 loadonce: true,您必须根据 sidxsord参数(sord描述排序方向,其值为"asc""desc")。