TabPanel多標籤tab頁加載同一個GridPanel顯示不同的數據

     前幾天做了一個功能實現,在一個tabpanel上的多個tab標籤存放同一個數據源裏的的不同的數據,其中tab標籤的title爲自動生成的。其中存放數據裏的容器爲GridPanel,因爲是同一個GridPanel,所以store是唯一一個,如裏每個tab頁都存放一個GridPanel的話,就需要同等量的store,這裏會很麻煩。頁面效果如下圖:

 

其中,每個tab頁裏存放的不同的數據,加載數據的方式也爲異步加載,點擊事件觸發時,加載數據。

上面四個tab標籤的title爲數據裏面的字段(四個不同階段:JDMC),在加載數據源前,先有自動通過後臺方法獲得四個階段的名稱,方便tab點擊事件觸發事,根據不同的階段(JDMC)爲參數獲得數據。

前臺引用EXTJS的代碼就省略,直接上引用JS代碼:

這裏面要注意的是:

   1.第一個默認的tab加載的是GRIDPANEL的初始的STORE,沒有參數,所以在後臺需要做一下處理,默認沒有參加時,獲得第一個階段的數據。

    2.TAB的點擊事件,

       首先要清空之前的加載的GRIDPANEL的數據:grid_info.getStore().removeAll();

       然後再通過不同的參數重新爲GRIDPANEL加載數據:grid_info.getStore().load({params:{JDMC: com_jdmc1}});

       然後再把獲得新的數據的GRIDPANEL加載到TAB上:args.add(grid_info); args.doLayout();

       尤其注意不要忘了:args.doLayout();

       剛開始處理的時候,一直處理,tab的點擊事件只有第一次可以加載上,第二的話就會空的情況,原來是沒有執行tab的doLayout()方法。

後臺的方法就不再贅述,就是通過方法獲得JSON數據源。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章