Ran into similar situation. To make things easier make sure your data is parsed in same way grid loads the data. Locate on grid what column you are in in relation to the overall number of columns you have in the grid. You will also need to setup a call back for the grid on itemfocused to run onfocusechange . Something like
gridlocation = 0 'This needs to be set out side of onFocusChange
function onfocuschange
columnfocused= grid.itemfocused MOD grid.numColumns
If columnfocused >= gridlocation 'MOVE FORWARD
grid.jumpToItem= grid.itemFocused
gridlocation= gridlocation + 2
else if columnfocused < gridlocation and columnfocused < grid.itemUnfocused 'MOVE BACK
grid.jumpToItem= grid.itemFocused
gridlocation = gridlocation - 2
if gridlocation < 0 'CHECK TO MAKE SURE YOU DON'T MOVE OFF SCREEN
gridlocation = 0
end if
end if
end function
This is a simple version of something like I use to move across the grid. Not sure it will completely work for yours, I have some custom stuff going on in relation to this but it might get you a starting point.