Jquery Datatable根据另一列计算列

问题描述 投票:1回答:1

我需要在渲染列时访问另一列,以便我可以进行一些计算,但我无法看到如何使用jquery datatable插件执行此操作。我觉得这很容易,但我不知道这个方法。

 function InitAbastecimentosDataTable() {
        table = $('#tblAbastecimentos').DataTable({
            language: {
                url: '//cdn.datatables.net/plug-ins/1.10.19/i18n/Portuguese.json',
            },
            scrollY: "50vh",
            scrollCollapse: true,
            async: true,
            oLanguage: {
                sLoadingRecords: '<img src="/Images/ajax/loader.svg" />'
            },
            ajax: {
                url: '/Abastecimentos/GetAbastecimentos',
                dataSrc: ''
            },
            columns: [
                { data: 'Referencia' },
                { data: 'UAP' },
                { data: 'W01' },
                { data: 'W02' },
                { data: 'ConsumoDiarioW01' },
                { data: 'ConsumoDiarioW02' },                    
                {
                    data: 'Stock',
                    render: function (data, type, row) {

                        if (data > 0) {                                
                            return '<span class="badge badge-success">' + data + '</span>';
                        } else {
                            return '<span class="badge badge-danger">' + data + '</span>';
                        }
                    },
                },
                { data: 'ConsumoPABW01' },
                { data: 'StockMinW01' },
                { data: 'StockMaxW01' },
                { data: 'QtdAbastecimentoW01' }
            ],            
            dom: 'Bfrtip',
            lengthMenu: [
                [10, 25, 50, 100, -1],
                ['10 rows', '25 rows', '50 rows', '100 rows', 'Show all']
            ],
            buttons: [
                'pageLength',
                {
                    extend: 'copyHtml5',
                    exportOptions: { orthogonal: 'export' }
                },
                {
                    extend: 'excelHtml5',
                    exportOptions: { orthogonal: 'export' }
                },
                {
                    extend: 'pdfHtml5',
                    exportOptions: { orthogonal: 'export' }
                },
                {
                    text: '<div id=""<i class="fas fa-sync"></i>',
                    action: function (e, dt, node, config) {
                        dt.destroy();
                        InitAbastecimentosDataTable();
                    }
                }
            ],
            initComplete: function () {
                this.api().columns([1]).every(function () {
                    var column = this;
                    var select = $('<select><option value=""></option></select>')
                        .appendTo($(column.footer()).empty())
                        .on('change', function () {
                            var val = $.fn.dataTable.util.escapeRegex(
                                $(this).val()
                            );

                            column
                                .search(val ? '^' + val + '$' : '', true, false)
                                .draw();
                        });

                    column.data().unique().sort().each(function (d, j) {
                        select.append('<option value="' + d + '">' + d + '</option>')
                    });
                });
            }
        });

在数据字段'Stock'我想根据数据字段'StockMinW01'和'StockMaxW02'来计算它。我找不到任何关于此事的内容

我也尝试使用row [8],但它给了我undefined。

我试过console.log(行)它给出了该行的所有数据。我不知道如何访问特定列

jquery datatables
1个回答
1
投票

我们可以通过名称访问列。

row['StockMinW01']
© www.soinside.com 2019 - 2024. All rights reserved.