Hi,
I'm using Flex 4.0 and GraniteDS
2.3.0.GA
I have a PagedQuery Collection used as the data provider for a
DataGrid.
Whenever I scroll down the DataGrid, the application throws an
ItemPending error. I've read that Tide Query integration is supposed
to manage this.
What am I doing wrong?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CLIENT CODE
*****************
Seam.getInstance().addComponentWithFactory("trainingEventList",
PagedQuery, { maxResults: 36 });
[In]
public var trainingEventList:PagedQuery;
<mx:DataGrid id="dgTrainingEvent" dataProvider="{trainingEventList}"
width="100%" height="100%" liveScrolling="false">
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SERVER CODE
*******************
package org.session;
import org.entity.*;
import
org.jboss.seam.annotations.Name;
import org.jboss.seam.framework.EntityQuery;
import java.util.Arrays;
@Name("trainingEventList")
public class TrainingEventList extends EntityQuery<TrainingEvent> {
private static final long serialVersionUID = 1L;
private static final String EJBQL = "select trainingEvent from
TrainingEvent trainingEvent";
private static final String[] RESTRICTIONS = {
"lower(trainingEvent.name) like
lower(concat(#{trainingEventFilter.name},'%'))",
};
private TrainingEvent trainingEvent = new TrainingEvent();
public TrainingEventList() {
setEjbql(EJBQL);
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
setMaxResults(25);
}
public TrainingEvent getTrainingEvent() {
return trainingEvent;
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ERROR
*********
Error: Items pending from 132 to 204 for index 168
at org.granite.tide.collections::PagedCollection/getItemAt()[/Users/
franckwolff/Developments/workspace/graniteds/as3/framework/org/granite/
tide/collections/PagedCollection.as:708]
at ListCollectionViewCursor/seek()[E:\dev\4.x\frameworks\projects
\framework\src\mx\collections\ListCollectionView.as:2434]
at mx.controls.listClasses::ListBase/seekPositionSafely()[E:\dev\4.x
\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:
4780]
at mx.controls.listClasses::ListBase/makeRowsAndColumnsWithExtraRows()
[E:\dev\4.x\frameworks\projects\framework\src\mx\controls\listClasses
\ListBase.as:1732]
at mx.controls.listClasses::ListBase/set verticalScrollPosition()[E:
\dev\4.x\frameworks\projects\framework\src\mx\controls\listClasses
\ListBase.as:1692]
at mx.controls::DataGrid/set verticalScrollPosition()[E:\dev\4.x
\frameworks\projects\framework\src\mx\controls\DataGrid.as:1118]
at mx.controls::DataGrid/scrollHandler()[E:\dev\4.x\frameworks
\projects\framework\src\mx\controls\DataGrid.as:2279]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\4.x\frameworks\projects
\framework\src\mx\core\UIComponent.as:12528]
at mx.controls.scrollClasses::ScrollBar/
http://www.adobe.com/2006/
flex/mx/internal::dispatchScrollEvent()[E:\dev\4.x\frameworks\projects
\framework\src\mx\controls\scrollClasses\ScrollBar.as:1438]
at mx.controls.scrollClasses::ScrollThumb/stopDragThumb()[E:\dev\4.x
\frameworks\projects\framework\src\mx\controls\scrollClasses
\ScrollThumb.as:143]
at mx.controls.scrollClasses::ScrollThumb/
http://www.adobe.com/2006/
flex/mx/internal::buttonReleased()[E:\dev\4.x\frameworks\projects
\framework\src\mx\controls\scrollClasses\ScrollThumb.as:108]
at mx.controls::Button/mouseUpHandler()[E:\dev\4.x\frameworks\projects
\framework\src\mx\controls\Button.as:2754]