热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅谈Bootstraptable中父子表和行列调序的用法

web前端|js教程bootstraptableweb前端-js教程本篇文章结合Bootstraptable的父子表和行列调序的用法,再来介绍下它稍微高级点的用法织梦文库源码,ub

web前端|js教程浅谈Bootstrap table中父子表和行列调序的用法
bootstrap table
web前端-js教程
本篇文章结合Bootstrap table的父子表和行列调序的用法,再来介绍下它稍微高级点的用法
织梦文库源码,ubuntu 查看支持包,爬虫技术哪种最好,php添加tocken,网页seo slzw
asp后台管理系统源码,vscode插件保存在哪里,ubuntu 网卡管理,tomcat缓存存放位置,爬虫天龙星,西安php工资,重庆seo推广优化多少钱,织梦开发网站lzw
A、效果展示
3d折线图制作源码,VScode出现prn,blcr ubuntu,bat重启tomcat,sqlite3远程连接,织梦批量添加会员插件,2017比较好的前端框架,爬虫为什么需要头部呼吸,java md5 php,zfh1234567SEO,个人网站导航模板下载,网页 筛选 代码,h5网页工业感模板lzw
今天稍微改变下方式,先来看看实现效果,后面再介绍代码实现及注意事项。来,效果图来一发:

1、父子表效果图

浅谈Bootstrap table中父子表和行列调序的用法

浅谈Bootstrap table中父子表和行列调序的用法

浅谈Bootstrap table中父子表和行列调序的用法

2、行调序

调序前

浅谈Bootstrap table中父子表和行列调序的用法

拖动行调序到第一行

浅谈Bootstrap table中父子表和行列调序的用法

3、列调序

调序前

浅谈Bootstrap table中父子表和行列调序的用法

拖动列标题调序

浅谈Bootstrap table中父子表和行列调序的用法

调序后

浅谈Bootstrap table中父子表和行列调序的用法

B、父子表代码详解

上章我们介绍Bootstrap table基础用法的时候介绍过,初始化表格的时候有一个属性“detailView”,将它设置为true,在每行的前面即可看到一个“+”形状的图标。点击这个图标即触发加载子表格的事件。大概的原理就是如此,来看看代码,其实也很简单。

1、初始化表格,注册行展开事件

      $("#tb_powerset").bootstrapTable({url: '/api/MenuApi/GetParentMenu',method: 'get',detailView: true,//父子表//sidePagination: "server",pageSize: 10,pageList: [10, 25],columns: [{ field: 'MENU_NAME', title: '菜单名称'}, { field: 'MENU_URL', title: '菜单URL'}, { field: 'PARENT_ID', title: '父级菜单'}, { field: 'MENU_LEVEL', title: '菜单级别'}, ],//注册加载子表的事件。注意下这里的三个参数!onExpandRow: function (index, row, $detail) { oInit.InitSubTable(index, row, $detail);} });

还是来看看子表加载事件onExpandRow对应方法function (index, row, $detail)的三个参数,

index:父表当前行的行索引。

row:父表当前行的Json数据对象。

$detail:当前行下面创建的新行里面的td对象。

第三个参数尤其重要,因为生成的子表的table在装载在$detail对象里面的。bootstrap table为我们生成了$detail这个对象,然后我们只需要往它里面填充我们想要的table即可。

2、我们来看oInit.InitSubTable()这个方法

//初始化子表格(无线循环) oInit.InitSubTable = function (index, row, $detail) { var parentid = row.MENU_ID; var cur_table = $detail.html('

').find('table'); $(cur_table).bootstrapTable({ url: '/api/MenuApi/GetChildrenMenu', method: 'get', queryParams: { strParentID: parentid }, ajaxOptions: { strParentID: parentid }, clickToSelect: true, detailView: true,//父子表 uniqueId: "MENU_ID", pageSize: 10, pageList: [10, 25], columns: [{checkbox: true }, {field: 'MENU_NAME',title: '菜单名称' }, {field: 'MENU_URL',title: '菜单URL' }, {field: 'PARENT_ID',title: '父级菜单' }, {field: 'MENU_LEVEL',title: '菜单级别' }, ], //无线循环取子表,直到子表里面没有记录 onExpandRow: function (index, row, $Subdetail) {oInit.InitSubTable(index, row, $Subdetail); } }); };

由此可以看出生成子表的原理就是创建一个table对象cur_table,然后再注册这个对象的表格初始化即可。是不是很简单~~

C、行调序代码详解

行调序的代码就更简单了,来看看。

1、需要额外引用两个js文件

2、在cshtml页面定义表格时,添加两个属性

然后js表格初始化的时候不需要做任何修改,加载出来的表格即可实现行调序的功能。

D、列调序代码详解

和行调序类似。列调序的使用如下:

1、额外引用几个js和css

2、在cshtml页面定义表格时,添加一个属性

其他地方不用做任何修改。加载出来的表格即可实现列调序。有没有很简单。

E、控件过滤

本来这篇准备结束的,突然想起上章里面有一个搜索的功能,好像是服务端分页的时候搜索功能没法使用,于是想起之前再CS里面做过一个类似每个列过滤的功能,博主好奇心又起来了,bootstrap table是否也有这种表格每列过滤的功能,于是查看文档。结果不负所望,还真有~~我们来看看。

1、效果图展示

浅谈Bootstrap table中父子表和行列调序的用法

浅谈Bootstrap table中父子表和行列调序的用法

浅谈Bootstrap table中父子表和行列调序的用法

浅谈Bootstrap table中父子表和行列调序的用法

2、代码示例

(1)引入额外js

(2)定义表格属性及表头属性

  

角色名称角色描述角色默认页面

因为这里定义了表头的属性,所以,js初始化的时候就不用定义列了。

(3)js初始化

$('#tb_roles').bootstrapTable({ url: '/Role/GetRole', method: 'get', toolbar: '#toolbar', striped: true, cache: false, striped: true, pagination: true, sortable: true, queryParams: function (param) { return param; }, queryParamsType: "limit", detailView: false,//父子表 sidePagination: "server", pageSize: 10, pageList: [10, 25, 50, 100], search: true, showColumns: true, showRefresh: true, minimumCountColumns: 2, clickToSelect: true, });

最开始,博主以为这种搜索只能用户客户端分页的情况,可是经过调试发现并非如此,原来搜索的条件都能通过json传递到服务端。我们来看调试的过程

浅谈Bootstrap table中父子表和行列调序的用法

后台接收参数,并反序列化

浅谈Bootstrap table中父子表和行列调序的用法

这样我们就能将查询的条件很好地传递到后台。很好很强大啊。这样就免去了扩展表格搜索功能的烦恼~~

F、总结

以上就是bootstrap table的一些扩展应用。可能未不全面,还有一些高级用法也没有介绍,比如行、列合并,行列冻结等等。但博主相信只要有文档,使用起来应该问题不大。源码还需整理,待整理好再发上来。园友们暂且先看看!!

编程入门!!


推荐阅读
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • JavaScript 中创建对象的多种方法
    本文详细介绍了 JavaScript 中创建对象的几种常见方式,包括对象字面量、构造函数和 Object.create 方法,并提供了示例代码和属性描述符的解释。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 探讨HTML中的DIV样式难题
    本文深入分析了HTML中常见的DIV样式问题,并提供了有效的解决策略。适合所有对Web前端开发感兴趣的读者。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • PHP 时间与日期工具类:星座、干支、生肖的实现
    本文介绍了一个PHP时间与日期工具类,涵盖了时区设置、有效日期和时间检查、星座、干支、生肖计算等功能。该工具类特别适用于需要处理中国农历及西方星座的应用场景。 ... [详细]
  • PHP插件机制的实现方案解析
    本文深入探讨了PHP中插件机制的设计与实现,旨在分享一种可行的实现方式,并邀请读者共同讨论和优化。该方案不仅涵盖了插件机制的基本概念,还详细描述了如何在实际项目中应用。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • 推荐几款高效测量图片像素的工具
    本文介绍了几款适用于Web前端开发的工具,这些工具可以帮助用户在图片上绘制线条并精确测量其像素长度。对于需要进行图像处理或设计工作的开发者来说非常实用。 ... [详细]
  • Python3 中使用 lxml 模块解析 XPath 数据详解
    XPath 是一种用于在 XML 文档中查找信息的路径语言,同样适用于 HTML 文件的搜索。本文将详细介绍如何利用 Python 的 lxml 模块通过 XPath 技术高效地解析和抓取网页数据。 ... [详细]
  • Java 中重写与重载的区别
    本文详细解析了 Java 编程语言中重写(Override)和重载(Overload)的概念及其主要区别,帮助开发者更好地理解和应用这两种多态性机制。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
author-avatar
zc163com
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有