2012-11-09 29 views
3

我創建了ExtJs窗口,該窗口使用從數據庫中檢索的信息顯示網格。現在我必須添加事件雙擊datagrid行,我做了。我遇到的問題是在這個事件中,我打開另一個窗口,其中包含輸入字段,我必須從網格中的點擊行中增加值。ExtJs雙擊行並將記錄傳遞到輸入字段中的另一個窗口

下面是從上雙擊監聽器的代碼片段:

listeners : { 
    itemdblclick: function(dv, record, item, index, e) { 
      _restoreCallsWindow().show(); //show the second window 
      Ext.get("sense-restore-calls-path-textfield-bodyEl").child('.x-form-text').set({value:record.data.path}, true); //get the input field and add value 
     } 
} 

上面的代碼工作正常,當我檢查的螢火該元素具有與電網的信息價值屬性,但我想顯示此值在輸入字段中。我怎樣才能做到這一點?

你能分享你的知識嗎?

謝謝。

+0

我想你會想保留對第二個窗口的引用並使用組件查詢來查找文本字段。然後使用setValue()函數設置該值,或者在該窗口上創建窗體並在該窗體上使用loadRecord()。無論如何,需要一個jsFiddle或更多的代碼才能給出更好的答案。 –

回答

1

我猜你有Ext.form.Panel窗口內,那麼你只需要做到以下幾點:

listeners : { 
    itemdblclick: function(dv, record, item, index, e) { 
     var win = _restoreCallsWindow(), 
      field= win.down('textfield'); // assuming you have just one textfield 
     field.setValue(record.get('path')); 
    } 
} 

請注意,每個字段的名稱屬性必須記錄的屬性名相匹配。其他方面,這是行不通的。

+0

對不起,我沒有使用Ext.form.Panel,而是使用了Ext.grid.Panel,因爲這正是我需要的。 – user1812671

+0

@ user1812671那麼現場在哪裏呢? – sra

+0

@ user1812671編輯完成,假定您在打開的窗口中只有一個'textfield'。如果情況並非如此,可以免費再次發表評論 – sra

相關問題