簡體   English   中英

獲取 laravel 背包中特定列的總和(無分頁)

[英]Getting sum complete (without pagination) of particular columns in backpack for laravel

我遵循了在這里找到的建議

    jQuery(document).ready(function($) {
        jQuery.fn.dataTable.Api.register( 'sum()', function ( ) {
            return this.flatten().reduce( function ( a, b ) {
                if ( typeof a === 'string' ) {
                    a = a.replace(/[^\d.-]/g, '') * 1;
                }
                if ( typeof b === 'string' ) {
                    b = b.replace(/[^\d.-]/g, '') * 1;
                }
                return a + b;
            }, 0 );
        } );
        
        $("#crudTable tfoot").css("display", "table-footer-group");

        crud.table.on("draw.dt", function ( row, data, start, end, display ) {
            total = crud.table.rows( function ( idx, data, node ) {
                return data[11].includes('Cancelado') ? false : true;} ).data().pluck(10).sum();
            total = "$" +  total.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
            $("#crudTable tfoot tr th").html(
                "&nbsp; <br> &nbsp;"
              );
            $("#crudTable tfoot tr").children().eq(10).html(
                "Total <br>"+  total
              );
        });
});

並且我添加了一些修改以通過跳過已取消狀態的項目來獲取列的總數,但是我無法獲取記錄總數但沒有分頁。 使用數據表,我得到了正在繪制的記錄,但我找不到如何攔截 ajax 查詢或修改它以獲取該列的完整總數,包括過濾器修改。

目前,如果在分頁中我請求“顯示所有記錄”,顯然我得到了我需要的值。 但是要求是即使表格在視覺上分頁也要顯示這個值。

實現這一目標的一種方法是覆蓋ListOperationsearch() function(它是表 ajax 端點)。

您需要在沒有分頁部分的情況下執行完整查詢以獲取完整數據,然后將計算與分頁響應一起傳遞以進行顯示。

干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM