现在的位置: 首页 > 综合 > 正文

使用DataGrid- Flex分页

2014年01月20日 ⁄ 综合 ⁄ 共 4565字 ⁄ 字号 评论关闭
<?xml version="1.0" encoding="utf-8"?>   

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="absolute" creationComplete="initApp()">

<mx:Script>

<![CDATA[

public var pageRecordes:uint = 8;

public var totalPages:uint = 0;

public var totalRows:uint = 0;

public var currentPage:uint = 1;

public var pageStartRow:uint = 1;

public var pageEndRow:uint = 0;



public function initApp():void{

txt.text = "Page " + currentPage;

totalRows = initDG.length;

if(initDG.length > pageRecordes){

dg.dataProvider = initDG.slice(0,pageRecordes);

pPage.enabled = false;

}



if((totalRows % pageRecordes) == 0){

totalPages = Math.floor(totalRows / pageRecordes);

}else{

totalPages = Math.floor(totalRows / pageRecordes + 1);

}



if(totalRows <= pageRecordes){

this.pageStartRow = 1;

this.pageEndRow = totalRows;

} else {

this.pageStartRow = 1;

this.pageEndRow = pageRecordes;

}



if(totalPages == 1){

pPage.enabled = false;

nPage.enabled = false;

}

}



public function showPreviousPage():void{

currentPage = currentPage - 1;

txt.text = "Page " + currentPage;

if(currentPage == 1){

pPage.enabled = false;

nPage.enabled = true;

}else{

pPage.enabled = true;

nPage.enabled = true;

}

if (currentPage == totalPages) {

pageStartRow = (currentPage - 1) * pageRecordes + 1;

pageEndRow = totalRows;

} else {

pageStartRow = (currentPage - 1) * pageRecordes + 1;

pageEndRow = currentPage * pageRecordes;

}

dg.dataProvider = initDG.slice(pageStartRow - 1,pageEndRow);

}



public function showNextPage():void{

currentPage = currentPage + 1;

txt.text = "Page " + currentPage;

if(currentPage == totalPages){

nPage.enabled = false;

pPage.enabled = true;

}else{

nPage.enabled = true;

pPage.enabled = true;

}

if (currentPage == totalPages) {

pageStartRow = (currentPage - 1) * pageRecordes + 1;

pageEndRow = totalRows;

} else {

pageStartRow = (currentPage - 1) * pageRecordes + 1;

pageEndRow = currentPage * pageRecordes;

}

dg.dataProvider = initDG.slice((currentPage - 1) * pageRecordes,pageEndRow);

}



public function showFirstPage():void{

dg.dataProvider = initDG.slice(0,pageRecordes);

pPage.enabled = false;

nPage.enabled = true;

txt.text = "Page " + 1;

currentPage = 1;

}



public function showLastPage():void{

dg.dataProvider = initDG.slice((totalPages - 1) * pageRecordes,totalRows);

pPage.enabled = true;

nPage.enabled = false;

txt.text = "Page " + totalPages;

currentPage = totalPages;

}

]]>

</mx:Script>

<mx:Panel title="DataGrid Panel" height="287" width="500">

<mx:DataGrid id="dg" height="100%" width="100%">

<mx:dataProvider>

<mx:Array id="initDG">

<mx:Object PLAYER="Rafer Alston" POS="G" FROM="Fresno State"/>

<mx:Object PLAYER="Luther Head" POS="G" FROM="lllinois"/>

<mx:Object PLAYER="Tracy McGrady" POS="F-G" FROM="Mount Zion Christian Acad. HS (NC)"/>

<mx:Object PLAYER="Dikembe Mutombo" POS="C" FROM="Georgetown"/>

<mx:Object PLAYER="Stromile Swift" POS="F" FROM="Louisiana State"/>

<mx:Object PLAYER="David Wesley" POS="G" FROM="Baylor"/>

<mx:Object PLAYER="Yao Ming" POS="C" FROM="China"/>

<mx:Object PLAYER="Kobe Bryant" POS="G" FROM="Lower Merion HS (PA)"/>

<mx:Object PLAYER="Kwame Brown" POS="F-C" FROM="Glynn Academy HS (GA)"/>

<mx:Object PLAYER="Lamar Odom" POS="F" FROM="Rhode Island"/>

<mx:Object PLAYER="Andrew Bynum" POS="C" FROM="St. Joseph HS (NJ)"/>

<mx:Object PLAYER="Brian Cook" POS="F" FROM="Illinois"/>

<mx:Object PLAYER="Devean George" POS="F" FROM="Augsburg"/>

<mx:Object PLAYER="Devin Green" POS="G" FROM="Hampton"/>

<mx:Object PLAYER="Aaron McKie" POS="F" FROM="Temple"/>

<mx:Object PLAYER="Chris Mihm" POS="C" FROM="Texas"/>

<mx:Object PLAYER="Smush Parker" POS="G" FROM="Fordham"/>

<mx:Object PLAYER="Ronny Turiaf" POS="F" FROM="Gonzaga"/>

<mx:Object PLAYER="Sasha Vujacic" POS="F" FROM="Slovenia"/>

<mx:Object PLAYER="Von Wafer" POS="F" FROM="Florida State"/>

<mx:Object PLAYER="Luke Walton" POS="F" FROM="Arizona"/>

<mx:Object PLAYER="Lamar Odom" POS="F" FROM="Rhode Island"/>

<mx:Object PLAYER="Jim Jackson" POS="F-G" FROM="Ohio State"/>

</mx:Array>

</mx:dataProvider>

</mx:DataGrid>

<mx:Spacer />

<mx:HBox width="391">

<mx:Spacer />

<mx:LinkBar borderStyle="solid" color="#000000" backgroundColor="#CCFFFF" id="fPage" label="firstPage" itemClick="showFirstPage()">

<mx:dataProvider>

<mx:Array>

<mx:String>firstPage</mx:String>

</mx:Array>

</mx:dataProvider>

</mx:LinkBar>

<mx:LinkBar borderStyle="solid" color="#000000" backgroundColor="#CCFFFF" id="pPage" label="prevPage" itemClick="showPreviousPage()">

<mx:dataProvider>

<mx:Array>

<mx:String>prePage</mx:String>

</mx:Array>

</mx:dataProvider>

</mx:LinkBar>

<mx:Text id="txt" width="52"/>

<mx:LinkBar borderStyle="solid" color="#000000" backgroundColor="#CCFFFF" id="nPage" label="nextPage" itemClick="showNextPage()">

<mx:dataProvider>

<mx:Array>

<mx:String>nextPage</mx:String>

</mx:Array>

</mx:dataProvider>

</mx:LinkBar>

<mx:LinkBar borderStyle="solid" color="#000000" backgroundColor="#CCFFFF" id="lPage" label="lastPage" itemClick="showLastPage()">

<mx:dataProvider>

<mx:Array>

<mx:String>lastPage</mx:String>

</mx:Array>

</mx:dataProvider>

</mx:LinkBar>

</mx:HBox>

<mx:Spacer />

</mx:Panel>

</mx:Application>

抱歉!评论已关闭.