2012-12-10 17 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

तरह मक्खी पर '' लागू आपको पता चलेगा कि जो स्तंभ तीसरे पर ही है? आईई, क्या आप पहले से ही डेटा इंडेक्स जानते हैं? –

+0

बस मेरी पोस्ट अपडेट की गई। धन्यवाद – Noon

+0

क्या आप वाकई हैं? 'Object.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

को यह त्रुटि मिली: 'ऑब्जेक्ट [ऑब्जेक्ट ऑब्जेक्ट] में कोई तरीका नहीं है' getSelected '' – Noon

+0

@Noon आप 4.x से पहले' getSelected() 'को कॉल नहीं कर सकते हैं। इसके बजाय 'getSelection()' का उपयोग करें। लेकिन एक क्लिक-इवेंट के मामले में म्यूटलाइजेशन के बिना इसे चालू करने की अनुशंसा नहीं की जाती है, आपके पास पहले से ही दूसरी तर्क के रूप में रिकॉर्ड है! – sra

+0

@sra धन्यवाद। मैंने एमयू पोस्ट अपडेट किया है, कृपया एक नज़र डालें, कृपया – Noon

संबंधित मुद्दे