如何在数据表中排序期间禁用服务器端 ajax 命中



在对标头标签进行排序时,发生了如何限制ajax调用。我不想要服务器端排序。我需要客户端排序。任何帮助将不胜感激。

代码

function InitUserTable(params){
       var clientListTable= $('#clientListTable').dataTable( { 
    "bLengthChange" : false,
     "iDisplayLength" : 10,
     "bSort" : true,
     "bFilter": false,
     "bDestroy":true,
     "sPaginationType": "full_numbers",
     "bProcessing": true,
     "bServerSide": true, 
     "bAutoWidth" : false,
                "sAjaxSource": "../clients/clientDataTable.do?"+params,
                "fnDrawCallback": function(){
                     $("#clientListTable tbody tr").click( function( e ) {
                            if ( $(this).hasClass('datatablerowhighlight') ) {
                                $(this).removeClass('datatablerowhighlight');
                            }
                            else {
                                clientListTable.$('tr.datatablerowhighlight').removeClass('datatablerowhighlight');
                                $(this).addClass('datatablerowhighlight');
                            }
                     });
                      }, 
                "aoColumns": [
                                      { "sTitle": "#",   "mData": "index", "sClass": "center"  },
                                      { "sTitle": "Client Name",   "sortable":true ,"mData": "clientName", "sClass": "left" ,"fnRender": function(obj) {
                                          var clientName = obj.aData.clientName;
                                          var clientId  = obj.aData.clientId;
                                          var index= obj.aData.index;
                                          var viewClient="";
                                          viewClient = "<div style='cursor:pointer;width:125px;' class='ellipsis'><u onclick='javascript:showClientInfo(""+clientId+"" ,""+clientName+ "" , ""+index+"",this);'>"+ clientName +" </u></div>";
                                          return viewClient;
                                      } },
                                      { "sTitle": "Business Type",   "mData": "businessType", "sClass": "left" ,"fnRender": function(obj) {
                                          var businessType = obj.aData.businessType;
                                          return "<div style='width:150px;' class='ellipsis'>"+ businessType +"</div>"
                                      } }
                            ]
         } );
     }

我认为您的问题与 DataTable.so 第一次使用"sAjaxSource"加载json数据有关,一旦加载数据,获取设置对象(fnSettings())并设置sAjaxSource或者你可以使用 fnServerData 拦截第一个调用,然后做你想做的事

将 bServerSide 设为 false。它不会去服务器端进行排序

最新更新