Ошибка в jQuery Datatables в ширине столбца - PullRequest
0 голосов
/ 21 октября 2018

Я работаю над проектом, где у меня возникают проблемы с шириной столбца jQuery Datatable.

Table

Когда я удаляюВ первой строке заголовка таблица отображается так, как должна.Но с дополнительной строкой заголовка ширина столбцов таблицы испортилась.

Почему это происходит?И конечно самое важное;Как я могу решить это?

Инициализация:

datatable = $('.datatable').DataTable({
    "stateSave": true,
    "scrollX": true,
    "autoWidth": true,
    "order": [],
    "buttons": [
        {extend: 'excel', text: '<i class="fa fa-table fa-fw" aria-hidden="true"></i>'},
        {extend: 'colvis', text: '<i class="fa fa-columns fa-fw" aria-hidden="true"></i>'},
        {text: '<i class="fa fa-refresh fa-fw" aria-hidden="true"></i>', className: 'buttons-refresh', action: function ( e, dt, node, config ) {
            dt.order([]).draw();
            window.location.reload();
        }}
    ],
    "dom": '<lfB<t>pi>',
});

HTML:

<div class="box-body">
    <table class="datatable table table-hover table-striped table-bordered">
        <thead>
            <tr>
                <th colspan="6" style="border-bottom: 0px;"></th>
                @foreach (getMonths() as $month)
                    <th colspan="2" style="border-bottom: 0px; text-align: center;">{{ $month }} {{ year() }}</th>
                @endforeach
            </tr>
            <tr>
                <th>#</th>
                <th>Werknaam</th>
                <th>Opdrachtgever</th>
                <th>Aanneemsom</th>
                <th>MMW</th>
                <th>Totaal</th>
                @foreach (getMonths() as $month)
                    <th>Prognose</th>
                    <th>Werkelijk</th>
                @endforeach
            </tr>
        </thead>
        <tbody>
            @foreach ($projects as $project)
                <tr>
                    <td>{{ $project->number }}</td>
                    <td>{{ $project->name }}</td>
                    <td>{{ $project->client->name ?? '- geen relatie -' }}</td>
                    <td style="text-align: right;">{!! format_currency($project->contract_sum, '') !!}</td>
                    <td style="text-align: right;">{!! format_currency($project->contract_variations, '') !!}</td>
                    <td style="text-align: right;">{!! format_currency($project->total, '') !!}</td>
                    @foreach (getMonths() as $m => $month)
                        <td style="text-align: right;" class="text-primary">
                            {!! format_currency($project->amounts->where('year', year())->where('month', $m)->sum('prognosis_amount'), '') !!}
                        </td>
                        <td style="text-align: right;" class="text-success">
                            {!! format_currency($project->amounts->where('year', year())->where('month', $m)->sum('actual_amount'), '') !!}
                        </td>
                    @endforeach
                </tr>
            @endforeach
        </tbody>
    </table>
</div>

CSS:

table.datatable {
    table-layout: fixed;
}
.datatable th, .datatable td { 
    white-space: nowrap; 
}
.table > tbody > tr > td,
.table > thead > tr > th {
    padding: 8px 13px;
    min-width: 100px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...