easyui dataguid subgrid 子表

用easyui 的dataguid打造的界面,主要是学习了subgrid的试水,挺好用的 

下面是js,  关键的一段,主要是要注意view: detailview下面开始的就是子表的一段,页面我就不给了,很简单的,有<table id="data_result"></table>就行了,不过一定要引入

datagrid-detailview.js ,点击小“+”会触发onExpandRow,接下来的就好理解了,$('#data_result').datagrid('fixDetailRowHeight',index); 这个很重要,是用来保持弹出的子表高度和

附表的行数高度一致,否则表格会变形覆盖

$(document).ready(function() {
    $("#data_result").datagrid({
         url:'',
         method:'post',
         loadMsg:"数据装载中....",
         fitColumns:true,
         nowrap:false,
         striped: true,
         singleSelect:true,
         pagination:true,
         pageSize:5,
         pageList:[5,10,20],
         columns:[[
                   {title:'表          名',field:'tableName',width:120},    
                   {title:'操作数据',field:'tableData',width:500,
                       formatter:function(value,rowData){                           
                           var arr = value.split(",");
                           if(arr.length>2){
                               for(i=0;i<arr.length;i++){
                                   if(i%4==0){
                                       arr[i] = '<tr><td width="33%">'+arr[i]+'</td>';
                                   }
                                   else if((i+1)%4==0){
                                       arr[i] = '<td width="33%">'+arr[i]+'</td></tr>';
                                   }
                                   else{
                                       arr[i] = '<td width="33%">'+arr[i]+'</td>';
                                   }
                               }
                               }
                           value = arr.join();
                           value = '<table width="100%">' + value + '</table>';
                           var reg = /(\[\{)|(\}\])|(,)/g; 
                           value = value.replace(reg, "");
                           return value;
                        }
                   },
                   {title:'操作时间',field:'createDate',width:120},
                   {title:'操作用户',field:'userId',width:120},
                   {title:'操作用户',field:'occurrenceTime',width:120,hidden:true}
                   ]],
        view: detailview,  
        detailFormatter:function(index,row){  
            return '<div style="padding:2px"><table id="ddv-' + index + '"></table></div>';  
        },  
        onExpandRow: function(index,row){  
            $('#ddv-'+index).datagrid({  
                url:'findActionLog.action?daoLog.userId='+row.userId+'&daoLog.occurrenceTime='+row.occurrenceTime,  
                fitColumns:true,  
                singleSelect:true,  
                rownumbers:true,  
                loadMsg:'',  
                height:'auto',  
                columns:[[  
                {title:'日志编号',field:'id',width:50},
                {title:'系统名称',field:'subSystem',width:50},
                {title:'应用名称',field:'businessName',width:50},
                {title:'客户端IP',field:'clientIP',width:30}
                ]],  
                onResize:function(){  
                    $('#data_result').datagrid('fixDetailRowHeight',index);  
                },  
                onLoadSuccess:function(){  
                    setTimeout(function(){  
                        $('#data_result').datagrid('fixDetailRowHeight',index);  
                    },0);  
                }  
            });  
            $('#data_result').datagrid('fixDetailRowHeight',index);  
        }  
     });


 

下面是截图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值