在分析報表中,樹節點按鈕的應用有利於讓用戶瞭解數據的架構和關係;而在實際的應用場景中,樹節點按鈕是不自動展開層級的,而有的用戶是需要默認展開一層樹節點按鈕,或默認展開所有樹節點按鈕,或通過按鈕方式,展開和摺疊所有樹節點按鈕,這時候需要設置加載結束時間,完成樹節點按鈕的展開。
1、報表設計
具有樹節點按鈕的分析報表設計如下:
2、JavaScript事件編輯(根據需要選擇JavaScript事件):
(一)在分析報表中,添加加載結束事件(默認展開至第二層),代碼如下:
//默認展開至第二層
$('.x-treenode-unexpand').eq(0).trigger('click');
(二)在分析報表中,添加加載結束事件(默認展開全部層),代碼如下:
//默認全部展開
$('.x-treenode-unexpand').trigger('click');
3、按鈕實現全部展開或摺疊
在單元格上,添加“超級鏈接”,分別鍵入JavaScript事件控制:
展開事件:
$('.x-treenode-unexpand').trigger('click');
摺疊事件:
$(".x-treenode-expand").attr("class","x-text fr-widget-click x-treenode-unexpand");
$('.fr-widget-click').eq(0).trigger('click');
$(".tntr").css('display','none');
4、效果圖
如上,就可以實現分析報表中,樹節點按鈕的默認全部展開,或通過點擊按鈕,實現全部展開和全部摺疊。
附:博主根據用戶需要,還需要額外設置點擊後實現行背景的需求;
此處附上在樹節點中,凍結行列後,點擊行改變行背景色的JavaScript時間:
在加載結束事件中,加入JavaScript代碼:
//點擊時,改變當前行的背景顏色
$('.tar').click(function(e){
$('.tar').css({"background":"#F5F5F5"});
if($(e.target).hasClass('tar')||$(e.target).parent('td').hasClass('tar')){
$('.selecttr').css({"background":"#F5F5F5"});
$('.selecttr').removeClass('selecttr');
var lefttr=$(e.target).closest('tr').attr("id");
$(e.target).closest('.frozen-table').find("#"+lefttr).find('.tar').addClass('selecttr').css({"background":"#E0E9F2"});
$(e.target).closest('tr').find('td').addClass('selecttr').css({"background":"#E0E9F2"});
}
})