Как установить orderCells для среднего ряда в таблицах данных? - PullRequest
0 голосов
/ 12 января 2019

Я использую DataTables . Я хотел бы, чтобы сортировка была связана со второй строкой диапазона, то есть сортировка включена в ячейке Name , а не в Dummy .

Код:

$(document).ready(function () {
  var table = $('#example').DataTable({
    orderCellsTop: true, //move sorting to top header
  });
});

HTML:

<table id="example" class="display nowrap" width="100%">
    <thead>
      <tr>
        <th>Dummy</th>
      </tr>
      <tr>
        <th>Name</th>
        <th>Position</th>
        <th>Office</th>
        <th>Age</th>
        <th>Start date</th>
        <th>Salary</th>
      </tr>
      <tr>
        <th>Name1</th>
        <th>Position1</th>
        <th>Office1</th>
        <th>Age1</th>
        <th>Start date1</th>
        <th>Salary1</th>
      </tr>
    </thead>
    .....

Вот демоверсия .

1 Ответ

0 голосов
/ 13 января 2019

Можно немного подправить

  • Добавить colspan=2 к Пустышка Заголовок:

    <th colspan="2">Dummy</th>
    
  • Теперь добавьте пустой заголовок сразу после Имя и Имя1 Заголовки:

    <th>Name</th>
    <th></th>
    
  • Аналогично, добавьте пустой столбец в каждую строку рядом с Имя столбец:

    <td>Tiger Nixon</td>
    <td></td>
    
  • Наконец, добавьте параметр columnDefs к инициализации DataTables:

    columnDefs: [{ 
      visible: false, 
      targets: 1 
    }]
    

Итоговый код будет выглядеть так:

$(document).ready(function() {
  var table = $('#example').DataTable({
    orderCellsTop: true,
    columnDefs: [{
      visible: false,
      targets: 1
    }]
  });
});
<!DOCTYPE html>
<html>

<head>
  <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>

  <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
  <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>

  <meta charset=utf-8 />
  <title>DataTables - JS Bin</title>
</head>

<body>
  <div class="container">
    <table id="example" class="display nowrap" width="100%">
      <thead>
        <tr>
          <th colspan="2">Dummy</th>
        </tr>
        <tr>
          <th>Name</th>
          <th></th>
          <th>Position</th>
          <th>Office</th>
          <th>Age</th>
          <th>Start date</th>
          <th>Salary</th>
        </tr>
        <tr>
          <th>Name1</th>
          <th></th>
          <th>Position1</th>
          <th>Office1</th>
          <th>Age1</th>
          <th>Start date1</th>
          <th>Salary1</th>
        </tr>

      </thead>

      <tbody>
        <tr>
          <td>Tiger Nixon</td>
          <td></td>
          <td>System Architect</td>
          <td>Edinburgh</td>
          <td>61</td>
          <td>2011/04/25</td>
          <td>$3,120</td>
        </tr>
        <tr>
          <td>Garrett Winters</td>
          <td></td>
          <td>Director</td>
          <td>Edinburgh</td>
          <td>63</td>
          <td>2011/07/25</td>
          <td>$5,300</td>
        </tr>


      </tbody>
    </table>
  </div>
</body>

</html>
...