Горизонтальная прокрутка dataTables.js

У меня возникают проблемы с получением горизонтальной прокрутки для работы с dataTables.js. Ожидаемый результат - таблица, которая позволяет мне прокручивать по горизонтали внутри таблицы. Текущий результат - таблица, которая выходит за пределы контейнера div. Какие-либо решения?

HTML:

<div class="box-body table-responsive">
     <table id="portal-drivers" class="table table-bordered table-striped" cellspacing="0" width="100%">
         <thead>
             <tr>
                 <th>First Name</th>
                 <th>Last Name</th>
                 <th>Email</th>
                 <th>Number</th>
                 <th>Rating</th>
                 <th>Transactions</th>
             </tr>
         </thead>
         <tbody>
             <tr>
                 <td>Bugs</td>
                 <td>Bunny</td>
                 <td>bugs@tunesquad.com</td>
                 <td>(310) 530-6789</td>
                 <td>4.8</td>
                 <td>309239045293459823945234895</td>
             </tr>
          </tbody>                   
     </table>

CSS:

.table-striped > tbody > tr:nth-child(odd) > td, 
.table-striped > tbody > tr:nth-child(odd) > th {
  white-space: nowrap;
}
#portal-drivers {
  overflow: auto;
}

JQuery

$("#portal-drivers").dataTable( {
    "scrollX": true
} );

5 ответов

Решение

Измените scrollX на sScrollX: 100%

$("#portal-drivers").dataTable( {
    "sScrollX": '100%'
} );

Чтобы сделать прокручиваемую таблицу с возможностью прокрутки данных (заголовок и тело), используйте свойство sScrollXInner вместе с sScrollX следующим образом:

$("#my-demo-datable").dataTable( {
    "sScrollX": "100%",
    "sScrollXInner": "110%",
} );

Попробуйте вставить это в CSS:

#portal-drivers {
    overflow-x: scroll;
    max-width: 40%;
    display: block;
    white-space: nowrap;
}

Я попробовал это, и это сработало для меня,

      $(document).ready(function() {
    $('#example').dataTable( {
        "sScrollX": "100%",
        "sScrollXInner": "110%",
        "bScrollCollapse": true
    } );
} );

Чтобы включить прокрутку x, вы можете установить параметр sScrollX в ширину контейнера-оболочки. Также здесь используется sScrollXInner, чтобы заставить таблицу быть шире, чем это необходимо.

Для того, чтобы сделать возможность прокрутки данных, вы можете попробовать это

$(document).ready(function() {
    $('#example').DataTable( {
        *"scrollY": 200,
        "scrollX": true
    } );
} )
Другие вопросы по тегам