【问题标题】:datatables + lengthMenu + All + serverside processing + not working数据表 + lengthMenu + 全部 + 服务器端处理 + 不工作
【发布时间】:2016-05-05 03:58:08
【问题描述】:

This 是一个基本的数据表小提琴。 这是default,下拉菜单将显示以下Show options 10, 25, 50, 75 and 100 records:

现在我想要工作的是"lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ],我可以在this fiddle 中使用。但是如果我使用服务器端处理,这就是All 选项对我不起作用的地方。其他人都这样做。当我选择All 时,它会显示它正在显示的数据,底部显示No data found in the server

据我所知,唯一的区别是数据来自服务器。谁能告诉我如何解决这个问题?据我所知,当我选择All 时,我发送的是length:-1,而10length:10,所以不知道为什么All 不起作用

        $(document).ready(function() {
            var dataTable = $('#employee-grid').DataTable( {
                "lengthMenu" : [[ 10, 25, 50, -1 ],[ '10', '25', '50', 'All' ]],
                //"pageLength": 25,
                "processing": true,
                "serverSide": true,
                "ajax":{
                    url :"employee-grid-data.php", // json datasource
                    type: "post",  // method  , by default get
                    error: function(){  // error handling
                        $(".employee-grid-error").html("");
                        $("#employee-grid").append('<tbody class="employee-grid-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>');
                        $("#employee-grid_processing").css("display","none");

                    }
                }                   
            } );
        } );


【问题讨论】:

  • 显示html 代码?

标签: javascript jquery html datatables


【解决方案1】:

使用服务器端处理时,您应该忽略startlength 请求参数仅当length 参数在您的 PHP 脚本中为 -1 时才能返回所有记录。

【讨论】:

  • 很奇怪(我的)大脑是如何工作的,几个小时后我随机想到了这个想法,而我却完全在做别的事情。
【解决方案2】:

"lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ]

1)表示“ALL”被赋值为-1。

2)这就是为什么当你选择 All your are sent length:-1 而对于 10 它是长度:10

3)这就是为什么您还得到在服务器中找不到数据 - 错误

4) 正确地在你的控制器中给出这个

var length = Request.Form.GetValues("length").FirstOrDefault() == "-1" ? Convert.ToString(YOUR_LIST.Count()) : Request.Form.GetValues("length").FirstOrDefault();

5)这将判断长度是否 == -1,然后获取您的列表总数,以便显示所有行。

【讨论】:

    【解决方案3】:

    对我来说,更改这些参数中的前 3 个是有效的:

    dom: 'ZBlrtip',
    lengthMenu: [[100, 200, -1], [100, 200, "All"]],
    bLengthChange: true,
    order: [8, "desc"],
    paging: true,
    pageLength: 100,
    serverSide: true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多