簡體   English   中英

在 ExtJS 中的選項卡開關上更新網格面板

[英]Update Grid Panel on Tab Switch in ExtJS

我有兩個單獨的選項卡(選項卡 A 和選項卡 B)。 這兩個選項卡共享一個存儲,每個存儲在各自的索引中。 [0] - A[1] - B

我的控制器在單擊其菜單葉時初始化負載,例如:

oMe.control({
  '#role-permission-grid-panel': {

    edit: oMe.save,

    beforerender: oMe.loadData,

  },
  '#roles-applicationtype button': {
    click: oMe.filterByApplication
  }
});

applicationtype button是加載數據的選項卡切換發生的過濾器。

當試圖捕捉當前過濾器的值時,控制器成功顯示點擊了哪個。 但是,這不再刷新網格面板數據。

SampleGridPanel /視圖

console.log('Application',oController.sDefaultToggle);

簡單地說,我從SampleController更新數據,並嘗試通過調用filterApplication從我的SampleGridPanel捕獲它。 由於initComponent我的SampleGridPanel僅加載一次商店。 我想將更新的數據(在這種情況下是選定的選項卡)從controller傳遞到view 當我的視圖僅識別初始加載數據時,如何通知我的視圖發生了此更改?

我也有點糊塗了。 在我的控制器,打電話時oMe.loadData beforerender ,它知道最后一個標簽式的值,但是當我打電話oMe.loadData從自定義過濾功能,它不再重新加載整個商店。 它僅根據過濾器值加載過濾后的信息。

您可以收聽 tabpanel 的activatedeactivate事件。 這些也可以在舊版本的 ExtJS 中使用。

如果你使用 ExtJS 6,你真的應該考慮使用ChainedStore

  • Store 包含數據。
  • 網格不綁定到商店,而是每個都綁定到一個 ChainedStore。
  • ChainedStores 將其源設置為商店,並使用不同的過濾器僅獲取應顯示在其各自網格中的數據。

請注意,從 ExtJS 6.0.1 開始,當將ChainedStoreGroupingFeatureCellEditing結合使用時,ExtJS 中存在一些錯誤。 這些應該在 ExtJS 6.0.2 中修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM