问题背景:
在做打印页面的时候,要求有详细的默认展开显示。 
 
遇到的问题:
1)在用扩展行的时候,grid的所有行都添加了展开收起的图标,(第二行没有明细)如下easyui扩展行默认展开 以及 去除滚动条-LMLPHP
easyui扩展行默认展开 以及 去除滚动条-LMLPHP

 2)默认展示有详细行的时候,内容被滚动条遮挡(影响打印)easyui扩展行默认展开 以及 去除滚动条-LMLPHP
easyui扩展行默认展开 以及 去除滚动条-LMLPHP

 
 3) 解决方法:在easyui扩展行的 onLoadSuccess 函数里进行处理 
 $list.datagrid({
view: detailview,
onLoadSuccess: function (data) { //没有详细的行 去掉 展示收起图标
for (var i = 0; i < data.rows.length; i++) {
if (data.rows[i].FeeCategoryID != 1) {
var expander = $('body').find('tr.datagrid-row[datagrid-row-index=' + i + ']');
expander.children('[field="_expander"]').html('');
}
} //默认展开所有详细行
var row = $list.datagrid("getRows");
for (var r = 0; r < row.length; r++) {
$list.datagrid("expandRow", r);
} //去除滚动条
var $ScrH1 = $('.datagrid-view1 .datagrid-body');
var $ScrH2 = $('.datagrid-view2 .datagrid-body');
$ScrH1.height($ScrH2[0].scrollHeight);
$ScrH2.height($ScrH2[0].scrollHeight);
$('.datagrid-view').height($('.datagrid-view2').height());
},
detailFormatter: function (index, row) {
if (row.FeeCategoryID == 1) {
return '<div class="datail-item-wrap" style="padding:5px 0"></div>';
}
},
onExpandRow: function (index, row) {
var feeID = row.FeeCategoryID;
var feeType = feeTypes.first(function (item) { return item.ID == feeID; });
if (feeID == 1) {
var wrap = $(this).datagrid('getRowDetail', index).find('div.datail-item-wrap');
var $cotent = '';
var feeDetail = row.ExpenseClaimFeeItems;
var detailData = JSON.parse(JSON.stringify(feeType.Feecategoryitem));
var dataLen = detailData.length;
for (var ind = 0; ind < dataLen; ind++) {
$cotent += '<li class="datail-item"><span>' + detailData[ind].FeeTypeCNName + ':</span><span>' + toDoubleThousands(feeDetail[ind].AmountWithTax) + '</span></li>';
}
$cotent = '<ul>' + $cotent + '</ul>';
} else {
return
}
wrap.panel({
border: false,
cache: false,
fit: true,
content: $cotent,
onLoad: function () {
$list.datagrid('fixDetailRowHeight', index);
}
});
$list.datagrid('fixDetailRowHeight', index);
}
});
    
05-12 22:00