Я быстро скомпилировал пример, который работает. Вы можете добавить слушателя ScrollBar из DataGrid dg
как:
dg.scroller.verticalScrollBar.addEventListener(Event.CHANGE, list_verticalScrollBar_change);
private function list_verticalScrollBar_change(evt:Event):void {
var vsb:VScrollBar = evt.currentTarget as VScrollBar;
// Now you can check for scroll position.
}
Полный код как:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="application1_creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import spark.components.VScrollBar;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
dg.scroller.verticalScrollBar.addEventListener(Event.CHANGE, list_verticalScrollBar_change)
}
private function list_verticalScrollBar_change(evt:Event):void {
var vsb:VScrollBar = evt.currentTarget as VScrollBar;
if(dg.grid.contentHeight == dg.grid.layout.verticalScrollPosition+dg.grid.height) {
Alert.show("Making service call");
// make some service call.
}
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:DataGrid id="dg" width="100%" height="100">
<s:dataProvider>
<s:ArrayList>
<fx:Object age="24" sex="f" name="Susan" joinDate="{new Date(2007, 5, 15)}" />
<fx:Object age="36" sex="f" name="Ashley" joinDate="{new Date(1998, 7, 20)}" />
<fx:Object age="24" sex="f" name="Jennifer" joinDate="{new Date(2001, 3, 24)}" />
<fx:Object age="19" sex="f" name="Emma" joinDate="{new Date(2002, 3, 24)}" />
<fx:Object age="44" sex="f" name="Carol" joinDate="{new Date(1999, 9, 16)}" />
<fx:Object age="28" sex="m" name="Peter" joinDate="{new Date(2005, 3, 12)}" />
<fx:Object age="35" sex="m" name="Mike" joinDate="{new Date(2008, 10, 10)}" />
<fx:Object age="26" sex="m" name="Dave" joinDate="{new Date(2008, 10, 10)}" />
<fx:Object age="44" sex="m" name="William" joinDate="{new Date(2004, 9, 16)}" />
<fx:Object age="24" sex="m" name="Sean" joinDate="{new Date(2006, 3, 24)}" />
</s:ArrayList>
</s:dataProvider>
</s:DataGrid>
</s:Application>
Я дал ответ, и он работает. –