You should just pass the key events to the grid through the offerkeyevent function and the grid would take care of it by itself.
To get the key events make sure to add the view to the control stack doing something like :-
TKeyResponse MyContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
return iGrid->OfferKeyEventL( aKeyEvent, aType );
iCurrentView = CMyAppMainView::NewL( ClientRect() );
AddToStackL( iCurrentView );