Easyui DataGrid自定义视图和subGrid
来源:互联网 发布:linux同步ntp服务器 编辑:程序博客网 时间:2024/05/08 17:01
使用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-header
- cc.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-footer
- cc.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);
- }
- });
点击+后,onExpandRow事件将被触发,创建一个新的subGrid,对主grid
调用fixDetailRowHeight()方法,当子grid创建成功后,改变主grid的大小
转载于:http://blog.csdn.net/ld_____/article/details/47658809
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分页栏
- libevent代码分析
- LeetCode|Isomorphic Strings-java
- python定时任务调度库_apscheduler的使用(2)
- Tomcat OutOfMemory问题: java.lang.OutOfMemoryError: GC overhead limit exceeded
- Django国际化
- Easyui DataGrid自定义视图和subGrid
- 【bzoj1059】【zjoi2007】【矩阵游戏】【二分图匹配】
- 我又回来了
- 黑马程序员---Java基础---面向对象:多态、内部类、异常
- Android开源库
- CALayer的常见应用
- java学习笔记之内部类
- Easyui DataGrid动态生成列
- Jsp九大内置对象及四个作用域