【问题标题】:How to set default Data Table Page Length to 100 in complete project?如何在完整项目中将默认数据表页长设置为 100?
【发布时间】:2019-10-04 09:39:53
【问题描述】:

我的项目中有一个大型报告部分,并且有 100 个使用数据表的报告,以及一些自定义数据表功能。现在我的客户想要:-

  1. 所有数据表报告的默认页长将从 10 增加到 100 ,默认情况下应适用于所有现有数据表和新数据表。

  2. 数据表搜索也应该被缓存(即,如果我过滤一个城市名称为 X 的记录,它返回 10 条记录,现在我单击其中任何一条的详细信息打开一个新页面。)他是什么想要的正是在这里(如果他从详情页返回,之前的10条搜索记录列表应该会出现,尽管是完整的记录列表。)

希望我的疑问很清楚,对此的任何建议和帮助将不胜感激。

【问题讨论】:

    标签: php laravel datatable


    【解决方案1】:

    当你使用Yajra Datatables时,我会回答这个问题。

    第一个问题:

    您可以将页长编号存储在数据库中的某些“设置”表中,这些表可以由管理员进行管理。并为所有页面获取。你也可以使用 Laravel 缓存来获得它,这样你就不需要每次都从数据库中检索。相反,您将从缓存中检索它,这将加速您的应用程序。 现在假设你已经得到了那个号码like this, using off. doc.

    $page_length = Cache::get('page_length');
    

    您可以创建一些从 Controller 扩展的 GeneralController,然后在构造函数中您可以编写它并像这样为所有刀片共享它:

    View::share('page_length', $page_length); // Illuminate Support Facade
    

    或者您可以在“受保护的 $page_length = null;”中传递 $page_length,在 GeneralController 的构造函数中初始化,然后在从 GeneralController 扩展的其他控制器中使用它。

    所以现在你可以在刀片中获得它。你可以这样使用

    var YajraDataTable = $('#yajra_datatable').DataTable({
                "pageLength": parseInt("{{ $page_length }}"),
    

    第二个问题我稍后会用实际例子来回答。

    【讨论】:

      【解决方案2】:

      我会建议使用Yajra DataTable点击链接了解。 这是Demo link,会有所帮助。

      Yajra DataTable 是 ajax 数据表,它提供每页的记录数和搜索。即使我也使用相同的。

      【讨论】:

        猜你喜欢
        • 2016-09-20
        • 2014-07-08
        • 1970-01-01
        • 1970-01-01
        • 2012-02-18
        • 2021-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多