開發(fā)需求:使用easyUI開發(fā)報(bào)表吊档,需要多層表頭篙议,表格也是多層嵌套。動態(tài)表頭拼接怠硼,數(shù)據(jù)查詢后動態(tài)篩選數(shù)據(jù)并過濾零值列鬼贱。
遇到問題:動態(tài)過濾零值列后修改了頂層column的colspan屬性導(dǎo)致不能正常展示內(nèi)層嵌套表格;
解決方案:
var columns = $('#dg1').datagrid('options').columns;
? var top_cols = columns[0];
if(top_cols[top_cols.length-1]['field']=="fukuanfangshimingxi"){
//添加自定義專有屬性'true_colspan'解決直接修改最上層表頭列'colspan'屬性導(dǎo)致的顯示錯誤
top_cols[top_cols.length-1]['true_colspan'] = top_cols[top_cols.length-1]['colspan'];
}
然后再需要修改colspan屬性的地方修改自定義屬性
if(top_cols[top_cols.length-1]['field']=="fukuanfangshimingxi"){
? top_cols[top_cols.length-1]['true_colspan']-=1;
? //top_cols[top_cols.length-1]['colspan'] -= 1;
? //$('#dg1').datagrid('changeColumnSpan', {field:"fukuanfangshimingxi",new_col_span_num:top_cols[top_cols.length-1]['colspan']});
? }
問題原因:推測應(yīng)該是修改頂層column的colspan屬性會導(dǎo)致easyui重新計(jì)算table和td寬度