easyui datagrid-detailview 嵌套高度自适应

实现效果


原因

异步加载,明细展开时,可能会遇到父列表不能自动适应子列表高度的变化

具体代码

$('#centerdatagrid').datagrid({
    	url:'${ctx}/offer/offer!projectPage.htm',
        title: '项目列表',
        iconCls:'iconfont icon-iconlist',
        toolbar: '#toolbar',
        border: false,
        fit: true,
        singleSelect: true,
        striped : true,
        toolbar: '#toolbar',
        pagination: true,
        pageSize: 20,
        rownumbers: true,
        fitColumns: false,
        autoRowHeight:true,
        columns: [
		[	
		 	{field: 'name', title: '项目名称'},
		 	{field: 'projectTreeName', title: '项目分类'},
		 	{field: 'customer', title: '客户'},
		 	{field: 'salesperson', title: '销售员'},
		 	{field: 'bidder', title: '报价人'},
		 	{field: 'offerTime', title: '时间'},
		 	{field: 'description', title: '备注'},
		 	{field: 'operate', title: '操作',
		 		formatter: function(value,row,index){
		 			var html = '<a onclick="toList('+row.projectId+')" href="javascript:void(0);">【添加子项目】</a>';
		 			html = html + '<a onclick="toList('+row.projectId+')" href="javascript:void(0);">【查看报价清单】</a>';
		 			return html;
				}
		 	}
		]
        ],
        onBeforeLoad:function(){},
        onLoadSuccess:function(){},
        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:'${ctx}/offer/offer!projectPage.htm',
            	fitColumns:true,
                singleSelect:true,
                loadMsg:'',
                //height:'auto',
                autoRowHeight:true,
                pagination: true,
                pageSize: 20,
                columns: [
        		[	
        		 	{field: 'name', title: '项目名称'},
        		 	{field: 'projectTreeName', title: '项目分类'},
        		 	{field: 'customer', title: '客户'},
        		 	{field: 'salesperson', title: '销售员'},
        		 	{field: 'bidder', title: '报价人'},
        		 	{field: 'offerTime', title: '时间'},
        		 	{field: 'description', title: '备注'}
        		]
                ],
                onResize:function(){                    
                    $('#centerdatagrid').datagrid('fixDetailRowHeight',index);                                      
	            },
	            onLoadSuccess:function(){
	                setTimeout(function(){
	                    $('#centerdatagrid').datagrid('fixDetailRowHeight',index);//在加载爷爷列表明细(即:父列表)成功时,获取此时整个列表的高度,使其适应变化后的高度,此时的索引
	                    $('#centerdatagrid').datagrid('fixRowHeight',index);//防止出现滑动条
	                },0);
	            }
            });
            $('#centerdatagrid').datagrid('fixDetailRowHeight',index);
        }
    });


posted @ 2016-01-19 10:23  NRapid&JRapid  阅读(987)  评论(0编辑  收藏  举报