2014-04-03 23 views
0

我有一个页面,其中一个下拉菜单为Report1和Report2。如果我选择Report1,它将填充startdate和enddate。我将选择startdate和结束日期,然后cliick查看报告它将做ajax调用并获取数据并显示在表中,我正在使用datatable为此。重置为jQuery数据表中的默认排序

我有第二coulmn的默认排序,我也能够排序其他列。如果我对其他列进行排序,然后选择其他报告Report2,然后选择startdate和结束日期,然后点击查看报告按钮。再次如果我选择Report1和Startdate并结束日期并点击查看报告按钮,它将对另一列进行排序,但不排序默认排序列。任何帮助将是可观的。

下面是我的代码

$('#userTable').dataTable({ 
         "bProcessing" : false, 
         "bServerSide" : false, 
         "bFilter" : false, 
         "bSearchable" : false, 
         "oLanguage" : { 
          "sZeroRecords" : "No Active Users Found", 
          "sInfo" : "Total Records Found: _TOTAL_ " 
         }, 
         "aaSorting" : [ [ 2, "asc" ] ], 
         "aoColumnDefs" : [ { 
          "mData" : "emailAddr", 
          "sWidth" : "20%", 
          "aTargets" : [ 0 ] 
         }, { 
          "mData" : null, 
          "sWidth" : "20%", 
          "mRender" : function(data, type, row) { 
           return row.firstNm + ' ' + row.lastNm; 
          }, 
          "bSortable" : false, 
          "aTargets" : [ 1 ] 
         }, { 
          "mData" : "retailerId", 
          "sWidth" : "20%", 
          "aTargets" : [ 2 ] 
         }, { 
          "mData" : "role", 
          "sWidth" : "20%", 
          "aTargets" : [ 3 ] 
         }, { 
          "mData" : "contactPhone", 
          "bSortable" : false, 
          "sWidth" : "20%", 
          "aTargets" : [ 4 ] 
         } ], 
         "fnInfoCallback": function(oSettings, iStart, iEnd, iMax, iTotal, sPre) {  
          return 'Displaying '+iStart+' to '+iEnd+' of ' +iTotal + ' entries'; 
       } 
+0

我解决这个问题,我加入回调方法aaSorting: ' “fnInfoCallback”:功能(oSettings,ISTART,IEND,IMAX,ITOTAL,SPRE){ \t \t \t \t \t \t \t \t oSettings.aaSorting = [[2,“asc”]]; }' –

+0

它不工作。如果我使用上面的代码,那么我无法按降序排序。谁能帮我? –

回答

1

请用这样的方式:

var DTable = $("<your table>").dataTable ({ 
... 
.. 
} 

setInterval(function() { 
     DTable.fnClearTable(0); 
     DTable.fnSort([ 0, "desc" ]); 
     DTable.fnDraw(); 

    }, 5000);