jqgrid onSortCol返回'停止'无法阻止客户端排序

时间:2014-12-05 21:30:06

标签: jquery sorting jqgrid

我遇到了jqgrid的onSortCol事件的问题。

我正在尝试禁用客户端排序并在服务器端处理它。 由于约束,我必须使用数据类型作为本地而不是json。

我可以看到正在进行服务器端调用并获取结果并显示 在ui屏幕上。但是我无法阻止客户端排序的发生。

返回'停止'无法阻止jqgrid对新返回的数据执行排序。

有人可以让我知道如何阻止客户端排序在这里发生吗?

这是onSortCol函数中的代码:

//使用异步调用填充数据

     onSortCol: function (index, columnIndex, sortOrder) {            

        that.store.find("oldcontact",{page:page,pagesize:pageSize,columnName:index,sortOrder:sortOrder}).then(function(data){


                          grid.jqGrid('clearGridData');


                              grid.jqGrid('setGridParam', {data: data});

                              grid.trigger('reloadGrid');
                              return 'stop';


                      });

                 } ,

2 个答案:

答案 0 :(得分:2)

为我的问题找到了解决方案..

只需定义sorttype以返回常量值将禁用客户端排序。

这对我有用:

     colModel:[
                {name:'id',index:'id', key: true, width:70,sorttype:"int"},
                {name:'firstName',index:'firstName', width:90,sorttype: function () {
                                                                  return 1; // any constant value
                                                              }},
                {name:'lastName',index:'lastName', width:100,sorttype: function () {
                                                                 return 1; // any constant value
                                                             }}

            ]

我继续处理onSortCol中的自定义排序,如上面在我的问题中所公布....

答案 1 :(得分:0)

可以通过指定" sortable:false"来禁用客户端排序。在声明列时。请参阅下面的代码段。

//your grid.
jQuery('#myJqGrid');
//Definition of a colModel
{name:'ColumnName', index:'name', sortable:false, align:'left', edittype:'text'}