2
我有一個窗體,在其中佈置一個窗體(第一個選項卡)和數據視圖(第二個選項卡)的tabpanel。此窗口可能會從網格中打開(例如雙擊)。這些2個標籤描述:傳遞一個對象ID到一個ExtJS窗口
- TAB1:爲對象的數據(比方說,一個CA)
- TAB2:同一對象的圖像。
這兩個組件(數據視圖和表單)中的每一個都有自己的存儲(DirectStore)。這兩個商店都有一個發送到服務器的參數,以便知道誰的字段值或誰的圖像被返回。
我的問題是:
- 我怎麼傳遞對象ID從電網到窗口
- 我怎麼傳遞對象ID標籤的部件,以加載 正確的數據。
- 從哪裏做我打電話加載上述商店?
信息:
- 我的問題也與最佳實踐,很好的方式。這將用於MVC應用程序。
- 我的窗口必須從直接呼叫中獲取所有數據。
你的假設是正確的。我在哪裏通過對象是商店? – catalinux
將對象傳遞給商店很簡單:假設商店是在你的標籤「initComponent」中創建的,你只需通過商店配置傳遞'objectId:this.objectId'。最棘手的部分是如何讓商店將objectId傳遞給服務器。查看'Ext.data.AbstractStore'中的'load'方法。你會看到它準備'選項'通過代理髮送。你需要將'objectId'應用於這些'options'。其中一種方法是擴展'Ext.data.Store'並編寫自己的'load'方法。 – Greendrake
或者,您可以在標籤initComponent中執行'store.load({objectId:this.objectId})',但是在這種情況下關閉存儲自動加載。 – Greendrake