【问题标题】:reset to default sorting in jquery datatable在jquery数据表中重置为默认排序
【发布时间】:2014-04-03 13:27:53
【问题描述】:

我有一个页面,其中有一个下拉菜单 Report1 和 Report2。如果我选择 Report1,它将填充 startdate 和 enddate。我将选择开始日期和结束日期,然后单击查看报告,它将执行 ajax 调用并获取数据并显示在表格中,我为此使用数据表。

我有第二列的默认排序,我也可以对其他列进行排序。如果我对其他列进行排序,然后选择其他报告 Report2,然后选择开始日期和结束日期,然后点击查看报告按钮。再次,如果我选择 Report1 和 startdate 和 end date 并点击查看报告按钮,它将对另一列进行排序,但不是默认排序列。任何帮助都将不胜感激。

下面是我的代码

$('#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';
                }

【问题讨论】:

  • 我修复了这个问题,我在回调方法中添加了aaSorting:"fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) { oSettings.aaSorting = [[ 2, "asc" ]]; }
  • 它不工作。如果我使用上面的代码,那么我无法按降序排序。谁能帮帮我?

标签: sorting datatable default


【解决方案1】:

请这样使用:

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

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

    }, 5000 );

【讨论】:

    【解决方案2】:

    如果我理解正确,您想要一个返回默认顺序的函数吗?如果是这种情况,我认为以下内容会有所帮助:

    http://datatables.net/plug-ins/api/fnSortNeutral

    【讨论】:

      猜你喜欢
      • 2013-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      相关资源
      最近更新 更多