JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】

下面是详细讲解“JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】”的完整攻略。

1. 父子表

父子表是指在一张表格中,某些行可以展开后显示子表格。Bootstrap table提供了父子表的插件,使用起来非常方便。

1.1 配置插件

要使用父子表的插件,首先要配置插件。可以使用data 属性来设置子表的数据和表头信息,使用data-field 属性来匹配父子表信息,使用data-index 属性来匹配父、子表的数据和表头信息。

示例代码:

<table data-toggle="table">
  <thead>
    <tr>
      <th data-field="name">Name</th>
      <th data-field="email">Email</th>
      <th data-field="gender">Gender</th>
      <th data-field="rank">Rank</th>
    </tr>
  </thead>
  <tbody>
    <tr data-index="0">
      <td>Steve Waters</td>
      <td>steve@gmail.com</td>
      <td>Male</td>
      <td>2</td>
    </tr>
    <tr data-index="1" data-parent-index="0">
      <td colspan="4">
        <table data-toggle="table" data-parent-index="0" data-parent-key="name">
          <thead>
            <tr>
              <th data-field="name">Name</th>
              <th data-field="email">Email</th>
              <th data-field="rank">Rank</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>Jon Richards</td>
              <td>jonathan@example.com</td>
              <td>3</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
  </tbody>
</table>

1.2 设置父子表的匹配条件

具有父子表的行必须要包含属性"data-parent-index",并且它的值应该等于它的父行属性"data-index"的值。在子表格中,可以使用"data-parent-key"属性指定匹配子表和父表所需的数据字段,这里是"name"。

示例代码:

<table id="table" data-toggle="table" data-url="data1.json" data-pagination="true" data-search="true">
  <thead>
    <tr>
      <th data-field="name">Name</th>
      <th data-field="email">Email</th>
      <th data-field="gender">Gender</th>
      <th data-field="rank">Rank</th>
    </tr>
  </thead>
  <tbody>
    <tr data-parent-index="1">
      <td>David Johnson</td>
      <td>david@example.com</td>
      <td>Male</td>
      <td>3</td>
    </tr>
    <tr data-parent-index="1" data-index="2">
      <td aria-describedby="table2-0" id="table2-0">Tommy Brown</td>
      <td aria-describedby="table2-1" id="table2-1">tommy@example.com</td>
      <td aria-describedby="table2-2" id="table2-2">Male</td>
      <td aria-describedby="table2-3" id="table2-3">4</td>
    </tr>
    <tr data-parent-index="1" data-index="3">
      <td colspan="4">
        <table data-toggle="table" data-parent-index="2" data-parent-key="name">
          <thead>
            <tr>
              <th data-field="name">Name</th>
              <th data-field="email">Email</th>
              <th data-field="rank">Rank</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>Jon Richards</td>
              <td>jonathan@example.com</td>
              <td>3</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
  </tbody>
</table>

2. 行列调序

虽然Bootstrap table默认按照列的顺序来显示数据,但是可以使用插件来实现列的调序和行的拖拽调序。

2.1 调序列

可以使用column-switch插件来调序列。该插件需要放在table标签外,而且需要指定需要调序的表格的id。调序后的结果会实时反映在表格中,而且可以使用localStorage来保留用户的排序。

示例代码:

<table id="table" data-toggle="table" data-url="data3.json" data-search="true">
  <thead>
    <tr>
      <th data-field="id" data-switchable="false">ID</th>
      <th data-field="name">Name</th>
      <th data-field="email">Email</th>
      <th data-field="gender">Gender</th>
      <th data-field="age">Age</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Steve Waters</td>
      <td>steve@example.com</td>
      <td>Male</td>
      <td>22</td>
    </tr>
    <tr>
      <td>2</td>
      <td>David Johnson</td>
      <td>david@example.com</td>
      <td>Male</td>
      <td>25</td>
    </tr>
  </tbody>
</table>
<script>
  $('#table').bootstrapTable();
  $('#table').bootstrapTable('refreshOptions', {columnSwitch: true});
</script>

2.2 调序行

可以使用drag-table插件来调序行。该插件需要放在table标签外,而且需要指定需要调序的表格的id。拖拽调序后的结果会实时反映在表格中,而且可以使用localStorage来保留用户的排序。

示例代码:

<table id="table" data-toggle="table" data-url="data2.json" data-pagination="true" data-sort-name="name" data-sort-order="asc">
  <thead>
    <tr>
      <th data-field="name" data-sortable="true">Name</th>
      <th data-field="email" data-sortable="true">Email</th>
      <th data-field="gender" data-sortable="true">Gender</th>
      <th data-field="age" data-sortable="true">Age</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Steve Waters</td>
      <td>steve@example.com</td>
      <td>Male</td>
      <td>22</td>
    </tr>
    <tr>
      <td>David Johnson</td>
      <td>david@example.com</td>
      <td>Male</td>
      <td>25</td>
    </tr>
    <tr>
      <td>Tommy Brown</td>
      <td>tommy@example.com</td>
      <td>Male</td>
      <td>24</td>
    </tr>
    <tr>
      <td>Jon Richards</td>
      <td>jonathan@example.com</td>
      <td>Male</td>
      <td>23</td>
    </tr>
  </tbody>
</table>
<script>
  $('#table').bootstrapTable();
  $('#table').dragtable();
</script>

以上就是“JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】”完整攻略的详细说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】 - Python技术站

(0)
上一篇 2023年6月20日
下一篇 2023年6月20日

相关文章

  • SharePoint 2013 配置HTTPS(SSL)

    SharePoint 2013 配置HTTPS(SSL) 在现代网站中,HTTPS已经变得越来越普遍。用户越来越关注网络安全性,而HTTPS可以提供安全的数据传输。当然,在企业级网站中,HTTPS也非常重要,特别是在共享敏感信息时。在本文中,我们将学习如何在SharePoint 2013中配置HTTPS 为什么需要HTTPS 使用HTTPS可以保护网站的数据…

    其他 2023年3月28日
    00
  • php打开另一个网页

    PHP打开另一个网页 有时候,您的 PHP 程序需要打开另一个网页,例如在需要跳转到另一个网页时,您需要使用 PHP 来完成此操作。本文将介绍如何使用 PHP 打开另一个网页。 使用header()函数打开网页 您可以使用 header() 函数来实现打开一个新的网页。header() 函数用于向客户端发送原始的 HTTP 报头。例如,在下面的示例中,我们将…

    其他 2023年3月29日
    00
  • Java面向对象程序设计多态性示例

    Java的面向对象编程具有多态性,可以通过对父类的引用调用子类的方法。以下是讲解Java面向对象程序设计多态性示例的完整攻略。 1. 理解多态性 在面向对象编程中,多态性可以指同一个实体可以被不同方式解释的能力,多态性的实现方式通常是通过继承、方法重载和重写等方式。在Java中,我们经常会用到继承和方法重写,这两种特性可以实现多态性。 2. 示例一:动态绑定…

    other 2023年6月26日
    00
  • python 关键字与标识符超详细整理

    Python 关键字与标识符超详细整理 关键字(Keywords) 在Python中,关键字是一些被编程语言保留的特殊单词,用于表示语法结构和程序逻辑。这些关键字具有特殊的含义,不能被用作变量名或其他标识符。 以下是Python的关键字列表: False:表示布尔值假 None:表示空值或缺失值 True:表示布尔值真 and:逻辑与操作符 as:用于创建别…

    other 2023年8月19日
    00
  • Java NIO实现多人聊天室

    Java NIO(New IO)是Java 1.4版本新增的一组IO API,是Java提供的非阻塞IO解决方案。Java NIO通过Channel、Buffer、Selector等新的概念,提供高速的、可扩展的、非阻塞的IO操作方式,使其能够轻松地实现高性能的网络应用程序。下面将详细介绍如何使用Java NIO实现多人聊天室。 1. 需求分析 我们需要实现…

    other 2023年6月27日
    00
  • hadoop迁移数据应用实例详解

    Hadoop迁移数据应用实例详解 Hadoop是一个分布式计算平台,可以处理海量数据。在实际生产环境中,为了提高数据的可用性和安全性,有时需要对Hadoop集群进行数据迁移。本文将介绍Hadoop数据迁移应用的实例以及实现方法。 Hadoop数据迁移方法 Hadoop数据迁移主要有以下三种方法: 1. DistCP工具: DistCP是基于MapReduce…

    other 2023年6月27日
    00
  • dockerbuild指定dockerfile

    dockerbuild指定dockerfile 在使用Docker构建镜像的过程中,可以使用docker build命令进行构建。该命令默认会在指定路径下查找名为Dockerfile的文件,并将其作为构建镜像的所需配置。然而,在实际使用过程中,可能存在多个不同的Dockerfile,需要根据不同的场景进行选择。 本文将介绍如何使用docker build命令…

    其他 2023年3月29日
    00
  • mysql回表查询

    MySQL回表查询攻略 以下是MySQL回表查询的完整攻略: 什么是回表查询? 回表查询是MySQL中的一种查询方式,它是指在使用非聚簇索引(即辅助索引)进行查询时,需要回到聚簇索引中查找数据的过程。这种查询方式会增加查询的开销,因此需要注意优化。 步骤1:创建表和索引 首先,创建一个包含多个字段的表,并为其中的某些字段创建索引。例如: CREATE TAB…

    other 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部