ShinobiGrid: how to programmatically scroll Grid to a particular cell?


#1

Hi

Form the documentation I haven’t found (my fault for sure) a way to programmatically scroll Grid to a particular cell.

Is it possible?

Thanks

Paolo


#2

No, you’re right, there is no such functionality right now. I’m under the impression that the grid control isn’t as strong as the charts control and missing a lot of things. But a new version is on the way (see Hello ShinobiDevelopers and welcome to 2013!)

You could make something right now, by programmatically looking for the UIScrollView of the grid, then scroll that around programmatically and query whether or not the desired cell is visible yet. But it’s quite hacky  :sunglasses:


#3

Hi Paolo,

Pit is right, this isn’t somethign we expose on teh API at the moment. However, the ShinobiGrid subclasses UIScrollView, so there is no need to ‘hunt’ for the UIScrollView … you can scroll the grid directly as follows:

[grid setContentOffset:CGPointMake(0, 200) animated:YES];

You’ll have to work out a suitable offset based on the height of your rows. Hope that helps.

(And yes, we do have some big plans for our nest grids release!)

Colin E.


#4

Hi Colin,

Do we support scrolling Grid to a particular cell now? I need this type of feature, even though setContentOffset helps, but it causes many issues then.

I wonder why with edit text cell, the grid could shift to show editing cell on the top of keyboard, but it doesn’t support to scroll grid for other type of cell, such as a filter with an UIPickerView…

Regards,

Binh Nguyen


#5

Greetings Programs!

Binh, just curious, what issues is setContentOffset causing?

Wg


#6

I need to update data by calling [grid reload], the grid reloads data and returns to previous position. Besides, scolling grid also causes similar issue.

However, setting contentInsert did solve the problem.  :smile:


#7

I tested setContentOffset:CGPointMake with hundred of cells and performance is scary. Ipad 2 takes like 5 secs to scroll to given position with one thousand cells. Any solution to this?

Regards