Easyui DataGrid自定义视图和subGrid
来源:互联网 发布:淘宝客新手怎么推广 编辑:程序博客网 时间:2024/04/27 23:40
使用DataGrid的自定义视图,可以扩展一行显示更多的细节
下文定义的divview其实是使用了datagrid的view配置,重写了其默认的renderRow方法。
基于这种实现,我们可以显示更多样式的view。
1、通过扩展$.fn.datagrid.defaults.view定义一个视图:
var divview = $.extend({}, $.fn.datagrid.defaults.view, {render : function (target, container, frozen) {var opts = $.data(target, 'datagrid').options;var rows = $.data(target, 'datagrid').data.rows;var fields = $(target).datagrid('getColumnFields', frozen);var table = [];if(frozen){$(container).parent().prev().remove();}else{$(container).prev().remove();$(container).css('overflow-x','hidden');}for(var i = 0; i < rows.length; i++) {table.push(this.renderRow.call(rows[i], target, fields, frozen, i, rows[i]));}$(container).html(table.join(''));},renderRow : function(target, fields,frozen, rowIndex, rowData) {var cc = [];if (!frozen){cc.push('<div class="div-content">');// div-content-headercc.push('<div class="div-content-header">');cc.push('<table><tbody><tr>');cc.push('<th><span>学校名称:'+rowData.schoolName+'</span></th>');cc.push('</tr></tbody></table>');cc.push('</div>');// div-content-footercc.push('<div class="div-content-footer">');if(true){if(rowData.flg == '0'){cc.push('<a class="" href="javascript:void(0)" onclick="">添加</a>');} else {cc.push('<a class="" href="javascript:void(0)" onclick="">删除</a>');}}cc.push('</div></div>');}return cc.join('');}});
2、建立DataGrid,应用视图divview:
$('#myGridDemo').datagrid({nowrap : false,pagination:true,rownumbers:false,url : 'datagrid_data.json',queryParams:getQueryParams(),view:divview,onLoadSuccess:function(data){ gridAreaAdjust();}});
3、gridAreaAdjust()方法
datagrid加载成功后,执行gridAreaAdjust方法,改变divview的样式
4、subGrid使用
MyListdemo
实现代码:
$('#myListDemo').datagrid({ view: detailview, detailFormatter:function(index,row){ return '<div style="padding:2px"><table class="ddv"></table></div>'; }, onExpandRow: function(index,row){ var ddv = $(this).datagrid('getRowDetail',index).find('table.ddv'); ddv.datagrid({ url:''+row.itemid, fitColumns:true, singleSelect:true, rownumbers:true, height:'auto', columns:[[ {field:'name',title:'年级名称',width:100}, {field:'gradeCount',title:'班级数量',width:100} ]], onResize:function(){ $('#myListDemo').datagrid('fixDetailRowHeight',index); }, onLoadSuccess:function(){ setTimeout(function(){ $('#myListDemo').datagrid('fixDetailRowHeight',index); },0); } }); $('#myListDemo').datagrid('fixDetailRowHeight',index); }});url传值的 row.itemid为主grid的序号,需要传递给后台,取得哪条数据的子grid
点击+后,onExpandRow事件将被触发,创建一个新的subGrid,对主grid
调用fixDetailRowHeight()方法,当子grid创建成功后,改变主grid的大小
0 0
- Easyui DataGrid自定义视图和subGrid
- Easyui DataGrid自定义视图和subGrid
- Easyui DataGrid自定义视图和subGrid
- jquery easyui datagrid subgrid edit
- easyui datagrid detailview(subgrid)一些用法介绍
- easyUI为datagrid创建自定义视图
- EasyUI使用心得——datagrid的查询功能和SubGrid冲突导致分页无效问题
- easyUI 自定义排序datagrid
- easyui datagrid自定义操作
- easyui datagrid自定义表头
- easyui datagrid 样式自定义
- easyUI SubGrid 学习
- easyui获取subgrid数据
- easyui自定义扩展视图实现功能--------datagrid返回记录为0时显示“没有记录”
- easyUI自定义DataGrid分页栏
- easyui datagrid自定义操作列
- easyui datagrid自定义操作列
- easyUI自定义DataGrid分页栏
- HTML 编辑器
- Microsoft ACE OLEDB 12.0 数据库连接字符串
- node.js 小爬虫
- 应用关闭
- IOS 时间戳
- Easyui DataGrid自定义视图和subGrid
- 轻松记住大端小端的含义(附对大端和小端的解释)
- 数字颠倒
- 错误: g_dbus_connection_register_object: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
- 利用 Commons-Fileupload 实现文件上传
- PHPExcel用法(详细)
- 玩转Node.js - 02. 接收命令行参数
- The Pilots Brothers' refrigerator
- VS2005在Win7上兼容性问题解决