Jquery Datatable вычислить столбец на основе другого столбца - PullRequest
1 голос
/ 26 апреля 2019

Мне нужен доступ к другому столбцу при рендеринге столбца, чтобы я мог выполнить некоторые вычисления, но я не вижу, как это сделать с помощью плагина с данными jquery.Я думаю, что это легко, но я не знаю метод.

 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>')
                    });
                });
            }
        });

в поле данных «Запас». Я хочу рассчитать его на основе полей данных «StockMinW01» и «StockMaxW02».Я ничего не могу найти об этом

, также я попытался использовать строку [8], но это дает мне неопределенное значение.

Я попытался console.log (строка), он дает все данные в этой строке.Я не знаю, как получить доступ к конкретному столбцу

1 Ответ

1 голос
/ 26 апреля 2019

Мы можем получить доступ к столбцу по его имени.

row['StockMinW01']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...