2012-12-10 76 views
7

我沒有成功添加行雙擊事件監聽到我的網格:的ExtJS網格 - 點擊事件偵聽器

listeners : { 
    itemdblclick: function(dv, record, item, index, e) { 
     alert('working'); 
    } 
}, 

現在,我需要選擇行來獲得在第三列的精確值,怎麼能我這樣做?

編輯

好吧發現:

listeners: { 
itemclick: function(dv, record, item, index, e) { 
alert(record.get('name'));          
} 

,但似乎像record.get('name')的結果不是文字!它是一個對象,但我無法像處理文本那樣處理它。任何機構有任何想法?

編輯

例如,如果我通過了名稱搜索功能:Search(record.get('name'));這是不行的。但如果我通過這種方式:Search('Mike');它的工作原理!

+0

飛適用'',你就會知道哪些列在第三必然? IE,你已經知道dataIndex了嗎? –

+0

剛剛更新了我的文章。謝謝 – Noon

+0

你確定嗎? 'record.get()'給了你什麼對象?如果你的數據是一個字符串,它會給你一個字符串。你可以在調試器中檢查它嗎? – gideon

回答

3

確保

  • 你的屬性名稱是真的小寫的「名」,而不是「名稱」
  • 打印字段的值與console.log(record.get('name'))控制檯或使用直接訪問鍵入console.log(record.data.name)console.log(record.data['name'])。基本上所有人都應該返回相同的。
  • 投下值串像var myVar = 2; myVar = myVar + ''; // now print 20 as string
+0

非常感謝!最後一點是我需要的。 – Noon

+0

@Noon不客氣:) – sra

0

與嘗試,

listeners: { 
itemclick: function(dv, record, item, index, e) { 
var selectedRec = dv.getSelectionModel().getSelected();   
alert(selectedRec.get('name')); //Will display text of name column of selected record 
} 
+0

得到這個錯誤:'Object [object Object]沒有方法'getSelected'' – Noon

+0

@Noon在4.x之前,你不能調用getSelected()。改用'getSelection()'。但是,如果在點擊事件不開啓的情況下打開mutliselection,那麼您已經將該記錄作爲第二個參數! – sra

+0

@sra謝謝。我更新了mu後,你會看看 – Noon