Ширина столбца Datatables автоматически увеличивается при разбиении на страницы - PullRequest
1 голос
/ 11 ноября 2019

На моей странице есть три таблицы данных с возможностью разбивки на страницы. Данные в таблицах загружаются через ajax. Все идеально, прежде чем делать какие-либо действия на столах. Если я разбил таблицу на таблицы, то размер таблицы увеличивается автоматически. Это мой код:

$.ajax({
        type: 'GET',
        url: '/get/data',
        success: function (resp) {

            let str = '';
            for (let j = 1; j < resp.length; j++) {
                str += `<tr>
                                <td>${moment(resp[j].purchase_date).format('MM-DD-YYYY')}</td>
                                <td>${resp[j].items}</td>
                            </tr>\n`;
            }
            $("#table1 tbody").html(str);
            initDataTable();
        }
    });


    function initDataTable() {
            $('#table1').DataTable({
                "scrollY": 250,
                "scrollX": false,
                "pagingType": "full",
                "autoWidth": false,
                "pageLength": 10,
                bFilter: false,
                bInfo: false,
                aoColumnDefs: [
                    {
                        bSortable: false,
                        aTargets: [-1]
                    }
                ]
            });
        }

Это CSS для таблицы данных.

#table1, #table2, #table3 {
    table-layout: fixed;
    width: 100% !important;
}

.dataTables_wrapper {
    background: #fff;
    border-radius: 8px;
    padding:0 30px 0px;
    overflow: hidden;
}

.dataTables_wrapper table.dataTable thead .sorting {
    background: url(../img/sort_both.png) no-repeat center right!important
}

.dataTables_wrapper table.dataTable thead .sorting_asc {
    background-image: url(../img/sort_asc.png)!important;
    background-repeat: no-repeat!important
}

.dataTables_wrapper table.dataTable thead .sorting_desc {
    background-image: url(../img/sort_desc.png)!important;
    background-repeat: no-repeat!important
}

1 Ответ

0 голосов
/ 11 ноября 2019

По умолчанию Datatable применяет умную ширину ко всем столбцам через свойство sWidth по умолчанию, как указано в документации . Вы можете изменить его для определенного столбца в свойстве aoColumnDefsaoColumnDefs.

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