I need to capture the row extender plugin's "expandrow" event, in order the change the appearance of the row, once it has been expanded. The problem is I have not able to get a handle on the grid view to make the format change. (I am fairly new to Extjs and attempting to convert some Extjs 3 code to comply with the new MVC architecture).

Here is the controllers control method:

Code:
     this.control({
           '#alertsgridview': {
                afterrender: this.bindview,
                expandbody: this.expandbody
            }
     });
In order to provide a closure on the view (#alertsgridview) I defined a "bindview" method that binds the "expandbody" method to the view. as follows:

Code:
    bindview: function(view) {
        this.expandbody = Ext.bind(this.expandbody, view);
     },
The "expandbody" method is as follows:

Code:
expandbody: function(rowNode, record, expandRow, eOpts {
         if (record.get('unread')) {
            this.removeRowCls(rowNode, 'alert-unread');
            AlertHelper.markRead(record.get('id'));
            record.set('unread', false);
        }
        return true;
}
This appears to work find if not moved to controller, but when running in the controller the "this" reference in the "expandbody" references the controller rather than the view. The attempt to bind to the view with the "Ext.bind" appears not to work. I verified in Firebug that (1) "bindview" is executed and the "view" does reference the desired view object and (2) the "this" reference in "expandbody" does reference the controller and not the view.

What am I missing?

Tim