【问题标题】:bootstrap-table: Change default sorting first timebootstrap-table:第一次更改默认排序
【发布时间】:2017-05-01 08:44:40
【问题描述】:

我第一次单击任何可排序的列时,它按“asc”排序。如何将其更改为“desc”?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet"/>
<table id="table" data-toggle="table">
   <thead>
            <tr>
                <th data-field="id" data-sortable="true">Item ID</th>
                <th data-field="name" data-sortable="true">Item Name</th>
                <th data-field="price" data-sortable="true">Item Price</th>
            </tr>
    </thead>
     <tbody>
        <tr><td>3</td><td>first</td> <td>5.4</td></tr>
        <tr><td>1</td><td>second</td><td>7.8</td></tr>
        <tr><td>2</td><td>third</td><td>2.1</td></tr>
    </tbody>
</table>

【问题讨论】:

    标签: twitter-bootstrap sorting bootstrap-table


    【解决方案1】:

    只需将data-order='desc' 添加到您的&lt;th&gt;,就可以了:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
    <link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet"/>
    <table id="table" data-toggle="table">
       <thead>
                <tr>
                    <th data-order='desc' data-field="id" data-sortable="true">Item ID</th>
                    <th data-order='desc' data-field="name" data-sortable="true">Item Name</th>
                    <th data-order='desc' data-field="price" data-sortable="true">Item Price</th>
                </tr>
        </thead>
         <tbody>
            <tr><td>3</td><td>first</td> <td>5.4</td></tr>
            <tr><td>1</td><td>second</td><td>7.8</td></tr>
            <tr><td>2</td><td>third</td><td>2.1</td></tr>
        </tbody>
    </table>

    【讨论】:

    • 这是使用 jquery 吗?
    【解决方案2】:

    您需要指定要排序的顺序。尝试添加:

    data-sort-order="desc"
    

    【讨论】:

      【解决方案3】:

      在JS中初始化BT表的时候可以添加默认的排序列。它使用了列索引。这是您更改订单时的订单。如果您不需要更改顺序后更改参数“bFilter”为false。

          
          Table = $('#survey-table').DataTable({
              "order": [[3, "asc"]],
              "lengthChange": false,
              "info": true,
              "unique": true,
              "bFilter": true,
              "columns": [
                  { "data": "Name" },
                  { "data": "Level" },
                  { "data": "Start Date" },
                  { "data": "End Date" },
                  { "data": "Status" },
                  { "data": "Action" }
              ],
          });

      或- 如果你只有 HTML,你可以像这样默认顺序。

      <table
        id="table"
        data-toggle="table"
        data-sort-name="id"
        data-sort-order="desc"
        data-height="460"
        data-url="json/data1.json">
        <thead>
          <tr>
            <th data-field="id" data-sortable="true">ID</th>
            <th data-field="name" data-sortable="true">Item Name</th>
            <th data-field="price" data-sortable="true">Item Price</th>
          </tr>
        </thead>
      </table>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-05
        • 2013-05-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多