EasyUI折叠表格层次显示detailview详解及实例


Posted in Javascript onDecember 28, 2016

本文目的:

使用easyUi的特殊常用实例,表格层次显示,一层套一层,显示详细数据,嵌套3层应该可以满足所有人的需求了吧。如果你想嵌套4层,有了嵌套3层的案例,4层,5层不是问题吧!!!

本实例的特点:

1.当数据很多的时候,高度不能自动适应,会在表格右侧出现滚动条,想这样嵌套3层的后果,简直不忍直视,本实例高度自适应。

2.选中行后,不能清除选中效果,本实例是可以的。

3.当打开数据展示详情后,再关闭详情页后,不能高度自适应,本实例关闭表格依然自适应。

4.当数据太多,需要出现横向滚动,本实例已给出详细案例。

首先一张图片,展示效果,是否和自己的预期一致。

EasyUI折叠表格层次显示detailview详解及实例

本实例的下载地址:http://download.csdn.net/detail/meng564764406/9723582

实例内容,包含了源代码,包含了所要使用js、css、图片文件。

下面开始引入我们需要的css文件

<link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.5/themes/icon.css" /> 
<link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.5/themes/gray/easyui.css" />

下面引入我们需要的js文件

<script type="text/javascript" src="js/jquery/jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="jquery-easyui-1.3.5/jquery-1.3.5.easyui.min.js"></script> 
<script type="text/javascript" src="js/jquery/datagrid-detailview.js" charset="utf-8"></script>

查看我们的body标签中的代码

<table id="dg" 
 url="json/datagrid_data.json" 
 title="收款管理" 
 singleSelect="false" fitColumns="true"> 
 <thead> 
 <tr> 
  <th field="inv" width="80">部门</th> 
  <th field="date" width="100">日期</th> 
  <th field="name" align="right" width="80">名字</th> 
  <th field="amount" align="right" width="80">数量</th> 
  <th field="note" width="220">小计</th> 
 </tr> 
 </thead> 
</table>

我们自己编写的js代码

<script type="text/javascript"> 
 $(function(){ 
 $('#dg').datagrid({ 
  view: detailview, 
  detailFormatter:function(index,row){//严重注意喔 
  return '<div"><table id="ddv-' + index + '" ></table></div>'; 
  }, 
  onExpandRow: function(index,row){//嵌套第一层,严重注意喔 
  var ddv = $(this).datagrid('getRowDetail',index).find('#ddv-'+index);//严重注意喔 
  ddv.datagrid({ 
   view: detailview, 
   url:'json/datagrid_data.json', 
   autoRowHeight:true, 
   fitColumns:true,//改变横向滚动条 
   singleSelect:false,//去掉选中效果 
   rownumbers:true, 
   loadMsg:'', 
//   height:'auto', 
   columns:[[ 
   {field:'inv',title:'年份',width:100}, 
   {field:'date',title:'应收',width:100}, 
   {field:'name',title:'合同款',width:100}, 
   {field:'amount',title:'已收',width:100}, 
   {field:'note',title:'比例',width:100} 
   ]], 
   detailFormatter:function(index,row2){//严重注意喔 
   return '<div"><table id="ddv2-' + index + '" style=""></table></div>'; 
   }, 
   onExpandRow: function(index2,row2){//嵌套第二层,严重注意喔 
   var ddv2 = $(this).datagrid('getRowDetail',index2).find('#ddv2-'+index2);//严重注意喔 
   ddv2.datagrid({ 
    view: detailview, 
    url:'json/datagrid_data.json', 
    autoRowHeight:true, 
    fitColumns:true, 
    singleSelect:false, 
    rownumbers:true, 
    loadMsg:'', 
//    height:'auto', 
    columns:[[ 
    {field:'inv',title:'月份',width:100}, 
    {field:'date',title:'应收',width:100,align:'right'}, 
    {field:'name',title:'合同款',width:100,align:'right'}, 
    {field:'amount',title:'已收',width:100,align:'right'}, 
    {field:'note',title:'比例',width:100,align:'right'} 
    ]], 
    detailFormatter:function(index2,row3){//严重注意喔 
    return '<div"><table id="ddv3-' + index2 + '" style=""></table></div>'; 
    }, 
    onExpandRow: function(index3,row3){//嵌套第三层,严重注意喔 
    var ddv3 = $(this).datagrid('getRowDetail',index3).find('#ddv3-'+index3);//严重注意喔 
    ddv3.datagrid({//严重注意喔 这里没有detailview了哈 
     url:'json/datagrid_data3.json', 
     autoRowHeight:true, 
     fitColumns:false,// 
     singleSelect:false, 
     rownumbers:true, 
     loadMsg:'', 
//     height:'auto', 
     columns:[[ 
     {field:'aaa',title:'项目名称',width:100}, 
     {field:'bbb',title:'合同编号',width:100,align:'right'}, 
     {field:'ccc',title:'合同名称',width:100,align:'right'}, 
     {field:'ddd',title:'款数',width:100,align:'right'}, 
     {field:'eee',title:'技术负责人',width:50,align:'right'}, 
     {field:'fff',title:'条件具备日期',width:100,align:'right'}, 
     {field:'ggg',title:'销售',width:50,align:'right'}, 
     {field:'hhh',title:'收款计划日期',width:100,align:'right'}, 
     {field:'iii',title:'计划收款比例',width:100,align:'right'}, 
     {field:'jjj',title:'实际收款比例',width:100,align:'right'}, 
     {field:'kkk',title:'差距',width:80,align:'right'}, 
     {field:'lll',title:'销售说明',width:100,align:'right'}, 
   <span style="white-space:pre"> </span>  {field:'mmm',title:'收款金额',width:100,align:'right'}, 
     {field:'nnn',title:'详情',width:100,align:'right'} 
     ]], 
     detailFormatter:function(index3,row){//严重注意喔 
     return '<div style="padding:2px"><table id="ddv3-' + index3 + '"></table></div>';//严重注意喔 
     }, 
     onResize:function(){//严重注意喔 
     ddv2.datagrid('fixDetailRowHeight',index3); 
      ddv.datagrid('fixDetailRowHeight',index2); 
     $('#dg').datagrid('fixDetailRowHeight',index); 
     }, 
     onLoadSuccess:function(){ 
     setTimeout(function(){//严重注意喔 
      ddv2.datagrid('fixDetailRowHeight',index3); 
      ddv2.datagrid('fixRowHeight',index3); 
      ddv.datagrid('fixDetailRowHeight',index2); 
      ddv.datagrid('fixRowHeight',index2); 
      $('#dg').datagrid('fixDetailRowHeight',index); 
      $('#dg').datagrid('fixRowHeight',index); 
     },0); 
     } 
    });//严重注意喔 
    ddv2.datagrid('fixDetailRowHeight',index); 
    ddv.datagrid('fixDetailRowHeight',index); 
    $('#dg').datagrid('fixDetailRowHeight',index); 
    }, 
    onCollapseRow: function(index3,row3){//严重注意喔 
    var ddv3 = $(this).datagrid('getRowDetail',index3).find('#ddv3-'+index3); 
    ddv3.datagrid({ 
     onResize:function(){ 
     ddv2.datagrid('fixDetailRowHeight',index3); 
    <span style="white-space:pre"> </span> ddv.datagrid('fixDetailRowHeight',index2); 
      $('#dg').datagrid('fixDetailRowHeight',index); 
     } 
    });//严重注意喔 
    ddv2.datagrid('fixDetailRowHeight',index); 
    ddv.datagrid('fixDetailRowHeight',index); 
    $('#dg').datagrid('fixDetailRowHeight',index); 
    }, 
    onResize:function(){//严重注意喔 
    ddv.datagrid('fixDetailRowHeight',index2); 
    $('#dg').datagrid('fixDetailRowHeight',index); 
    }, 
    onLoadSuccess:function(){//严重注意喔 
    setTimeout(function(){ 
     ddv.datagrid('fixDetailRowHeight',index2); 
     ddv.datagrid('fixRowHeight',index2); 
     $('#dg').datagrid('fixDetailRowHeight',index); 
     $('#dg').datagrid('fixRowHeight',index); 
    },0); 
    } 
   });//严重注意喔 
   ddv.datagrid('fixDetailRowHeight',index2); 
   $('#dg').datagrid('fixDetailRowHeight',index); 
   }, 
   onCollapseRow: function(index2,row2){//严重注意喔 
   var ddv2 = $(this).datagrid('getRowDetail',index2).find('#ddv2-'+index2); 
   ddv2.datagrid({ 
    onResize:function(){ 
    ddv.datagrid('fixDetailRowHeight',index2); 
    $('#dg').datagrid('fixDetailRowHeight',index); 
    } 
   });//严重注意喔 
   ddv.datagrid('fixDetailRowHeight',index2); 
   $('#dg').datagrid('fixDetailRowHeight',index); 
   }, 
   onResize:function(){ 
   $('#dg').datagrid('fixDetailRowHeight',index); 
   }, 
   onLoadSuccess:function(){ 
   setTimeout(function(){ 
    $('#dg').datagrid('fixDetailRowHeight',index); 
    $('#dg').datagrid('fixRowHeight',index); 
   },0); 
   } 
  }); 
  $('#dg').datagrid('fixDetailRowHeight',index); 
  } 
 }); 
 }); 
</script>

以上所述是小编给大家介绍的EasyUI折叠表格层次显示detailview详解及实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript CSS画图之基础篇
Jul 29 Javascript
实现只能输入数字的input不用replace方法
Sep 12 Javascript
JavaScript中的包装对象介绍
Jan 27 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
Nov 02 Javascript
谈一谈javascript中继承的多种方式
Feb 19 Javascript
基于JQuery及AJAX实现名人名言随机生成器
Feb 10 Javascript
jquery仿京东侧边栏导航效果
Mar 02 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
vue写h5页面的方法总结
Feb 12 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
Nov 26 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
Dec 04 Javascript
JavaScript实现表单验证功能
Dec 09 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 #Javascript
基于bootstrap风格的弹框插件
Dec 28 #Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
Dec 28 #Javascript
Bootstrap源码解读模态弹出框(11)
Dec 28 #Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
Dec 28 #Javascript
JS简单实现移动端日历功能示例
Dec 28 #Javascript
如何学JavaScript?前辈的经验之谈
Dec 28 #Javascript
You might like
PHP中cookies使用指南
2007/03/16 PHP
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
php简单分页类实现方法
2015/02/26 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
Python数据库的连接实现方法与注意事项
2016/02/27 Python
python中的字典使用分享
2016/07/31 Python
简单了解Python中的几种函数
2017/11/03 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
Python map及filter函数使用方法解析
2020/08/06 Python
python os.rename实例用法详解
2020/12/06 Python
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
学习心得体会
2014/01/01 职场文书
三字经教学反思
2014/04/26 职场文书
股指期货心得体会
2014/09/13 职场文书
会计工作检讨书
2015/02/19 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书