@@ -687,11 +687,17 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi
687687 cell . focus ( { preventScroll : true } ) ;
688688 }
689689 } else {
690- const cellElem = elem . querySelector ( ` ${ cellSelector } ` ) ;
691- const rowIndex = parseInt ( cellElem . getAttribute ( 'data-rowindex' ) , 10 ) ;
692- grid . navigation . performHorizontalScrollToCell ( rowIndex , visibleColumnIndex ) ;
690+ this . horizontalScrollGridToIndex ( grid , visibleColumnIndex , ( ) => {
691+ this . focusNextRow ( elem , visibleColumnIndex , grid , isSummary ) ;
692+ } ) ;
693693 }
694694 }
695+ public getColumnUnpinnedIndex ( visibleColumnIndex : number , grid ?: IgxHierarchicalGridComponent ) {
696+ const currGrid = grid || this . grid ;
697+ const column = currGrid . unpinnedColumns . find ( ( col ) => ! col . columnGroup && col . visibleIndex === visibleColumnIndex ) ;
698+ return currGrid . pinnedColumns . length ? currGrid . unpinnedColumns . filter ( ( c ) => ! c . columnGroup ) . indexOf ( column ) :
699+ visibleColumnIndex ;
700+ }
695701
696702 private focusPrevRow ( elem , visibleColumnIndex , grid , inChild ?, isSummary ?) {
697703 if ( grid . navigation . isColumnFullyVisible ( visibleColumnIndex ) ) {
@@ -728,7 +734,7 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi
728734 }
729735
730736 private horizontalScrollGridToIndex ( grid , visibleColumnIndex , callBackFunc ) {
731- const unpinnedIndex = this . getColumnUnpinnedIndex ( visibleColumnIndex ) ;
737+ const unpinnedIndex = this . getColumnUnpinnedIndex ( visibleColumnIndex , grid ) ;
732738 grid . parentVirtDir . onChunkLoad
733739 . pipe ( first ( ) )
734740 . subscribe ( callBackFunc ) ;
0 commit comments