As far as I can tell, the provided row index is based on the page and not the currently displayed list of items. Meaning if I have 3 pages and each page is displaying 5 elements, on the second page, the first element's index is 5 rather than 0.
But when *prepare()* is called, the start index and end index is provided to load only the page to be displayed and *getRowValue()* doesn't indicate on which page the gird is when it's invoked. So how is it possible that these 2 methods can work with each other while one is page agnostic (i.e. * prepare()*) and the other respects the current page order (i.e. * getRowValue()*) ? I read the getRowValue method documentation and it indicates to return a null when the provided index is out of range, but when I did so, only the first page was populated while the others where blank. Links to other pages are still displayed because the *getAvailableRows()* method returns a big enough integer since the available data is a lot more than one page. Thank you.