<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="load()">
<mx:Style>
</mx:Style>
<mx:Script>
<![CDATA[
import mx.events.ItemClickEvent;
import mx.collections.ArrayCollection;
include "spXML_List.as";
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.controls.Button;
[Bindable]
public var nav:ArrayCollection = new ArrayCollection();
private function ClickPrev():void
{
var page:int = spXML_List.page;
if(page <= 1){
Alert.show('처음 페이지 입니다.');
}else{
page-=1;
spXML_List.page = page;
}
}
private function ClickNext():void
{
var page:int = spXML_List.page;
if(page >= spXML_List.total_page){
Alert.show("마지막 페이지 입니다.");
}else{
page+=1;
spXML_List.page = page;
}
}
private function load():void{
for(var i:Number = 2; i < 50; i++){
spXML_List.newElement = <item>
<num>{i}</num>
<constnm>민방위 경보시스템 교체,보강조달구매 설치 </constnm>
<itemcode>통신</itemcode>
<basic>32,000,000</basic>
<yega>31,970,640</yega>
<success>31,493,000</success>
<spb>98.4156</spb>
<ypb>-0.0917</ypb>
<sypb>12.1609</sypb>
<constdt>08.06.20</constdt>
</item>;
}
pageing(spXML_List.page);
}
private function pageing(page:Number):void{
var p_min:Number = spXML_List.p_min;
var p_max:Number = spXML_List.p_max;
var total_page:Number = spXML_List.total_page;
nav.removeAll();
if(p_min > 1){
nav.addItem({label:"이전", data:p_min-1, id:"pre"});
}
//Alert.show(page.toString());
for(var j:Number = p_min; j <= p_max; j++){
nav.addItem({label:j, data:j});
}
if(p_max < total_page){
nav.addItem({label:"다음", data:p_max+1});
}
spXML_List.page = page;
}
private function navigatePage(event:ItemClickEvent):void{
var lb:String = event.item.label;
if(lb.indexOf("다음") > -1){
spXML_List.p_min = event.item.data;
spXML_List.p_max = event.item.data + 4;
lb = event.item.data;
}else if(event.item.id == 'pre'){
spXML_List.p_min = event.item.data - 4;
spXML_List.p_max = event.item.data;
lb = event.item.data;
}
pageing(Number(lb));
}
private function N_page(min:int, max:int):void{
trace(min);
}
]]>
</mx:Script>
<mx:Canvas id='listBox' width="80%" borderStyle="solid" backgroundColor="blue" showEffect="Fade" hideEffect="Fade" x="35" y="29">
<mx:Panel layout="absolute" title="List" width="100%" x="0">
<mx:DataGrid width="100%" height="285"
rowCount="12"
id="ListGrid"
dataProvider="{spXML_List.item}"
horizontalCenter="0"
fontSize="12"
fontFamily="Arial"
>
<mx:columns>
<mx:DataGridColumn headerText="번호" dataField="num" width="35" />
<mx:DataGridColumn headerText="공고명" dataField="constnm" width="300"/>
<mx:DataGridColumn headerText="업종" dataField="itemcode"/>
<mx:DataGridColumn headerText="기초금액" dataField="basic"/>
<mx:DataGridColumn headerText="예정가격" dataField="yega"/>
<mx:DataGridColumn headerText="1순위 투찰금액" dataField="success"/>
<mx:DataGridColumn headerText="1순위 기초대비" dataField="spb"/>
<mx:DataGridColumn headerText="예가/기초" dataField="ypb"/>
<mx:DataGridColumn headerText="1순위사정율" dataField="sypb"/>
<mx:DataGridColumn headerText="입찰일" dataField="constdt"/>
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</mx:Canvas>
<mx:Text text="Total: {spXML_List.total_page} Page:{spXML_List.page} / {spXML_List.total_page}" fontSize="10" y="35" x="73"/>
<mx:Button label="Previous" click="ClickPrev()" x="780" y="32"/><mx:Button label="Next" click="ClickNext()" x="865" y="32"/>
<mx:ToggleButtonBar id="PageNav" x="73" y="394" dataProvider="{nav}" itemClick="navigatePage(event)" horizontalGap="5"/>
</mx:Application>
-----------------------------------------------------------------------------------------------
as파일
// ActionScript file
[Bindable]
public var spXML_List:XML =
<rr>
<total_num>49</total_num>
<total_page>10</total_page>
<page>1</page>
<p_min>1</p_min>
<p_max>5</p_max>
<item>
<num>1</num>
<constnm>민방위 경보시스템 교체,보강조달구매 설치 </constnm>
<itemcode>통신</itemcode>
<basic>32,000,000</basic>
<yega>31,970,640</yega>
<success>31,493,000</success>
<spb>98.4156</spb>
<ypb>-0.0917</ypb>
<sypb>12.1609</sypb>
<constdt>08.06.20</constdt>
</item>
</rr>;