報表:JS實現加載後自動展開所有樹節點按鈕

在分析報表中,樹節點按鈕的應用有利於讓用戶瞭解數據的架構和關係;而在實際的應用場景中,樹節點按鈕是不自動展開層級的,而有的用戶是需要默認展開一層樹節點按鈕,或默認展開所有樹節點按鈕,或通過按鈕方式,展開和摺疊所有樹節點按鈕,這時候需要設置加載結束時間,完成樹節點按鈕的展開。

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"});
        }
})

發佈了30 篇原創文章 · 獲贊 47 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章