2015-09-07 84 views
1

所以我正在使用遺留代碼。我有一個網格,有一個動作按鈕,當點擊這個動作按鈕時,它必須使用戶重命名一個特定的值,改變另一個領域等...ExtJS 3.4 - xtype:'displayfield'顯示更新值嗎?

我面臨的問題是,當我點擊編輯按鈕,我可以在控制檯中看到它正在選擇正確的數據並將其發送到表單面板,但表單面板會一直顯示第一個選擇數據。 如何解決這個問題?

一些代碼:

// the filed that needs to display the newly selected rows data 
items:[ 
    { 
     xtype: 'displayfield', 
     fieldLabel: 'Route', 
     id: 'route', 
     name: 'route' 
    } 

... 

Ext.getCmp('route').setValue(/** currently selected rows route **/); 

enter image description here

不管是什麼,它不斷顯示它首先必然值,但是在控制檯中,我可以看到值的變化。我甚至嘗試在提交和取消方法後重置表單。

回答

1

最後我用了你的答案的組合。 點擊動作按鈕後,我創建了一個新窗體,如Joe建議,然後設置不同輸入欄的值。 爲了確保沒有數據被保留,並且每個事件加載相應的行數據,我建議使用Mohit,並在提交/取消後銷燬表單。所以每個按鈕都會創建並銷燬一個表單。

+0

可以請你分享一下爲你工作的代碼片段。我面臨着和你一樣的問題 – Vinit89

+0

我現在無法在這個階段創建一個小提琴或者笨蛋。給我你的電子郵件,我會給你發送短片。但原則是按照喬的方式創建你的表單。然後在按鈕事件中調用一個呈現表單的函數,完成數據的後處理,最後按照Mohit的建議破壞表單。 – avn

+0

我解決了這個問題。謝謝回覆 – Vinit89

1

也許你可以嘗試使用JavaScript變量而不是DOM /組件選擇器。

var routeField = Ext.create({ 
    xtype: 'displayfield', 
    fieldLabel: 'Route', 
    name: 'route' 
}); 

.... 

items:[routeField] 

.... 

routeField.setValue('A1'); 
+0

你能解釋一下如何確保顯示選定的值嗎? – avn

1

銷燬你的formPanel時,點擊取消按鈕,然後檢查。