Extjs Grid - Click event listener
Asked Answered
E

2

9

I did successfully add a row double click event listener to my grid by:

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

Now, I need to get the exact value in third column at the selected row, how can I do that ?

EDIT

Okay found it:

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

but seems like the result of record.get('name') is not a text! its an object but I cannot handle it as if it a text. any body has any idea ?

EDIT

For example, if I pass the name to search function: Search(record.get('name')); this won't work. but if I pass it this way: Search('Mike'); it works !

Ezequieleziechiele answered 10/12, 2012 at 6:10 Comment(4)
Will you know which column is bound at the third? IE, do you already know the dataIndex?Ong
Are you sure? What object does record.get() give you?? If your data is a string, it'll give you a string. Can you inspect it in a debugger?Pliant
yes I am sure, I got the name as string successfully but when I pass it to another function, it can't handle it, on the other hand if I pass the name itself (I type it), function works fine.Ezequieleziechiele
you can look at your record data using console.log(record.data) or in your case console.log(record.get('name')). don't use alert()Messuage
M
4

Ensure that

  • Your property name is really lowercase 'name' and not 'Name'
  • Print the value of the field into the console with console.log(record.get('name')) or use the direct access by typing console.log(record.data.name) or console.log(record.data['name']). Basically all should return the same.
  • To cast a value to string apply '' on the fly like var myVar = 2; myVar = myVar + ''; // now print 20 as string
Messuage answered 10/12, 2012 at 12:15 Comment(0)
E
0

Try with,

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
}
Earflap answered 10/12, 2012 at 10:18 Comment(2)
got this error: Object [object Object] has no method 'getSelected'Ezequieleziechiele
@Ezequieleziechiele You cannot call getSelected() this before 4.x. Use getSelection() instead. But doing this without mutliselection turned on in case of a click-event is not recommend, you have already the record as second argument!Messuage

© 2022 - 2024 — McMap. All rights reserved.