- 浏览: 260272 次
- 性别:
- 来自: 香港
文章分类
最新评论
-
xinglianxlxl:
对我有用,谢谢
Java Axis-1.4 调用 .net webserice(手动下载证书和程序自动装载证书)) -
July01:
推荐用StratoIO打印控件,支持网页、URL、图片、PD、 ...
利用Applet进行Web打印 -
njitjiang:
完美,正在想这个问题怎么处理呢,多谢。
JasperReport 根据内容动态调整报表行高 -
luoyonghui55:
你这个要是能再写一些注释说明就更好了。
oracle 利用 lead 、lag 查询已有记录的下一条、上一条记录 -
guang.027:
很不错,不错,试试...
PKIX path building failed 的问题
网上看了一下有关flex DataGrid 自定义分页控件的应用,大部分是对客户端现成的数据进行分页,如果结合数据库来显示的话,数据量少,其实不必要分页,利用DataGrid的下拉滚动条足够,如果数据量非常大,又不大可能把所有的数据传到客户端,再对这些数据分页。只能是传到客户端的数据就只有一页的数据。下面示意如何用blaseds和flex来实现分页。(部分代码从网上拿来 )
1.自定义分页事件
package com.yonghong.controller.events
{
import flash.events.Event;
public class PageChangeEvent extends flash.events.Event
{
public function PageChangeEvent(pageindex:int,pagesize:int)
{
super("PageChange");
PageIndex= pageindex;
PageSize =pagesize;
}
public var PageIndex:int=0;
public var PageSize:int=0;
}
}
2.自定义分页栏
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="466" height="40">
<mx:Metadata>
[Event(name="PageChange", type="com.yonghong.controller.events.PageChangeEvent",bubbles="true",cancelable="true")]
</mx:Metadata>
<mx:Button click="method_le()" id="c_le" enabled="false" x="10" y="10" fontFamily="Georgia" width="24" height="24" minWidth="24" minHeight="24">
<mx:icon>@Embed('first.png')</mx:icon>
</mx:Button>
<mx:Button click="method_l()" id="c_l" enabled="false" x="42" y="10" fontFamily="Georgia" width="24" height="24" minWidth="24" minHeight="24">
<mx:icon>@Embed('pre.png')</mx:icon>
</mx:Button>
<mx:ComboBox rowCount="10" change="method_select()" id="c_select" enabled="false" x="74" y="10" width="54"></mx:ComboBox>
<mx:Button click="method_r()" id="c_r" enabled="false" x="136" y="10" fontFamily="Georgia" width="24" height="24" minWidth="24" minHeight="24">
<mx:icon>@Embed('next.png')</mx:icon>
</mx:Button>
<mx:Button click="method_re()" id="c_re" enabled="false" x="168" y="10" fontFamily="Georgia" width="24" height="24" minWidth="24" minHeight="24">
<mx:icon>@Embed('last.png')</mx:icon>
</mx:Button>
<mx:Script>
<![CDATA[
import com.yonghong.controller.events.PageChangeEvent;
import mx.controls.Alert;
private var mRecordCount:int=0;
private var mPageSize:int =20;
private var mPageIndex:int =0;
private var mPageCount:int = 0;
public function method_l():void
{
mPageIndex=mPageIndex-1;
SetState();
OnPageChange();
}
public function method_le():void
{
mPageIndex =0;
SetState();
OnPageChange();
}
public function method_r():void
{
mPageIndex=mPageIndex+1;
SetState();
OnPageChange();
}
public function method_re():void
{
mPageIndex=mPageCount-1;
SetState();
OnPageChange();
}
public function method_select():void
{
mPageIndex = c_select.selectedItem.data;
SetState();
OnPageChange();
}
public function get PageIndex():int
{
return mPageIndex;
}
//设置记录总数
public function set RecordCount(count:int):void
{
mRecordCount= count;
if(count >0)
{
SetState();
}
}
private function SetState():void
{
if(mRecordCount%mPageSize > 0)
{
mPageCount = mRecordCount/mPageSize+1;
}
else
{
mPageCount = mRecordCount/mPageSize;
}
var pages:Array = new Array();
for(var i:int =1;i<=mPageCount;i++)
{
pages.push( {label:i.toString(), data:i-1});
}
c_select.dataProvider= pages;
c_select.selectedIndex= mPageIndex;
if(mPageCount>1)
{
c_select.enabled=true;
c_l.enabled=true;
c_le.enabled=true;
c_r.enabled=true;
c_re.enabled=true;
if(mPageIndex==0)
{
c_l.enabled=false;
c_le.enabled=false;
}
if(mPageIndex == mPageCount-1)
{
c_r.enabled=false;
c_re.enabled=false;
}
}
else
{
c_select.enabled=false;
c_l.enabled=false;
c_le.enabled=false;
c_r.enabled=false;
c_re.enabled=false;
}
pageinfo.text="Records:" + mRecordCount+"/" + mPageCount+"pages";
}
//获取记录总数
public function get RecordCount():int
{
return mRecordCount;
}
//打开分页控件
public function Open():void{
mPageIndex =0;
OnPageChange();
}
//刷新当前页面
public function Refresh():void
{
OnPageChange();
}
private function OnPageChange():void
{
var e:PageChangeEvent = new PageChangeEvent(mPageIndex,
mPageSize);
dispatchEvent(e);
}
]]>
</mx:Script>
<mx:Label x="200" y="10" width="175" fontSize="12" id="pageinfo"/>
</mx:Canvas>
3.如何应用此控件(关键)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application initialize="oninit()" xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:ns2="com.yonghong.components.*">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import com.yonghong.model.vo.PatientRecordVO;
import com.yonghong.model.service.RegistrationManagerService;
import com.yonghong.controller.events.PageChangeEvent;
import mx.controls.Alert;
import flash.events.Event;
private var registerManagerService:RegistrationManagerService=new RegistrationManagerService();
private var datas:Array = new Array();
function oninit():void
{
pagebar1.Open();
}
function findPatientReocordHandler(event:ResultEvent):void{
var datas:ArrayCollection=event.result as ArrayCollection;
pagebar1.RecordCount =1000;
pagebar1.Open();
}
function pagechange(e:PageChangeEvent):void
{
registerManagerService.findPatientRecordPaging(new PatientRecordVO(),e.PageIndex,20,findPatientReocordHandler2);
}
function findPatientReocordHandler2(event:ResultEvent):void{
pagebar1.RecordCount =1000;
datalist.dataProvider=event.result;
}
]]>
</mx:Script>
<mx:DataGrid width="100%" id="datalist">
<mx:columns>
<mx:DataGridColumn headerText="no" dataField="no"/>
<mx:DataGridColumn headerText="surname" dataField="surname"/>
</mx:columns>
</mx:DataGrid>
<ns2:PageBar id="pagebar1" PageChange="pagechange(event)" >
</ns2:PageBar>
</mx:Application>
1.自定义分页事件
package com.yonghong.controller.events
{
import flash.events.Event;
public class PageChangeEvent extends flash.events.Event
{
public function PageChangeEvent(pageindex:int,pagesize:int)
{
super("PageChange");
PageIndex= pageindex;
PageSize =pagesize;
}
public var PageIndex:int=0;
public var PageSize:int=0;
}
}
2.自定义分页栏
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="466" height="40">
<mx:Metadata>
[Event(name="PageChange", type="com.yonghong.controller.events.PageChangeEvent",bubbles="true",cancelable="true")]
</mx:Metadata>
<mx:Button click="method_le()" id="c_le" enabled="false" x="10" y="10" fontFamily="Georgia" width="24" height="24" minWidth="24" minHeight="24">
<mx:icon>@Embed('first.png')</mx:icon>
</mx:Button>
<mx:Button click="method_l()" id="c_l" enabled="false" x="42" y="10" fontFamily="Georgia" width="24" height="24" minWidth="24" minHeight="24">
<mx:icon>@Embed('pre.png')</mx:icon>
</mx:Button>
<mx:ComboBox rowCount="10" change="method_select()" id="c_select" enabled="false" x="74" y="10" width="54"></mx:ComboBox>
<mx:Button click="method_r()" id="c_r" enabled="false" x="136" y="10" fontFamily="Georgia" width="24" height="24" minWidth="24" minHeight="24">
<mx:icon>@Embed('next.png')</mx:icon>
</mx:Button>
<mx:Button click="method_re()" id="c_re" enabled="false" x="168" y="10" fontFamily="Georgia" width="24" height="24" minWidth="24" minHeight="24">
<mx:icon>@Embed('last.png')</mx:icon>
</mx:Button>
<mx:Script>
<![CDATA[
import com.yonghong.controller.events.PageChangeEvent;
import mx.controls.Alert;
private var mRecordCount:int=0;
private var mPageSize:int =20;
private var mPageIndex:int =0;
private var mPageCount:int = 0;
public function method_l():void
{
mPageIndex=mPageIndex-1;
SetState();
OnPageChange();
}
public function method_le():void
{
mPageIndex =0;
SetState();
OnPageChange();
}
public function method_r():void
{
mPageIndex=mPageIndex+1;
SetState();
OnPageChange();
}
public function method_re():void
{
mPageIndex=mPageCount-1;
SetState();
OnPageChange();
}
public function method_select():void
{
mPageIndex = c_select.selectedItem.data;
SetState();
OnPageChange();
}
public function get PageIndex():int
{
return mPageIndex;
}
//设置记录总数
public function set RecordCount(count:int):void
{
mRecordCount= count;
if(count >0)
{
SetState();
}
}
private function SetState():void
{
if(mRecordCount%mPageSize > 0)
{
mPageCount = mRecordCount/mPageSize+1;
}
else
{
mPageCount = mRecordCount/mPageSize;
}
var pages:Array = new Array();
for(var i:int =1;i<=mPageCount;i++)
{
pages.push( {label:i.toString(), data:i-1});
}
c_select.dataProvider= pages;
c_select.selectedIndex= mPageIndex;
if(mPageCount>1)
{
c_select.enabled=true;
c_l.enabled=true;
c_le.enabled=true;
c_r.enabled=true;
c_re.enabled=true;
if(mPageIndex==0)
{
c_l.enabled=false;
c_le.enabled=false;
}
if(mPageIndex == mPageCount-1)
{
c_r.enabled=false;
c_re.enabled=false;
}
}
else
{
c_select.enabled=false;
c_l.enabled=false;
c_le.enabled=false;
c_r.enabled=false;
c_re.enabled=false;
}
pageinfo.text="Records:" + mRecordCount+"/" + mPageCount+"pages";
}
//获取记录总数
public function get RecordCount():int
{
return mRecordCount;
}
//打开分页控件
public function Open():void{
mPageIndex =0;
OnPageChange();
}
//刷新当前页面
public function Refresh():void
{
OnPageChange();
}
private function OnPageChange():void
{
var e:PageChangeEvent = new PageChangeEvent(mPageIndex,
mPageSize);
dispatchEvent(e);
}
]]>
</mx:Script>
<mx:Label x="200" y="10" width="175" fontSize="12" id="pageinfo"/>
</mx:Canvas>
3.如何应用此控件(关键)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application initialize="oninit()" xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:ns2="com.yonghong.components.*">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import com.yonghong.model.vo.PatientRecordVO;
import com.yonghong.model.service.RegistrationManagerService;
import com.yonghong.controller.events.PageChangeEvent;
import mx.controls.Alert;
import flash.events.Event;
private var registerManagerService:RegistrationManagerService=new RegistrationManagerService();
private var datas:Array = new Array();
function oninit():void
{
pagebar1.Open();
}
function findPatientReocordHandler(event:ResultEvent):void{
var datas:ArrayCollection=event.result as ArrayCollection;
pagebar1.RecordCount =1000;
pagebar1.Open();
}
function pagechange(e:PageChangeEvent):void
{
registerManagerService.findPatientRecordPaging(new PatientRecordVO(),e.PageIndex,20,findPatientReocordHandler2);
}
function findPatientReocordHandler2(event:ResultEvent):void{
pagebar1.RecordCount =1000;
datalist.dataProvider=event.result;
}
]]>
</mx:Script>
<mx:DataGrid width="100%" id="datalist">
<mx:columns>
<mx:DataGridColumn headerText="no" dataField="no"/>
<mx:DataGridColumn headerText="surname" dataField="surname"/>
</mx:columns>
</mx:DataGrid>
<ns2:PageBar id="pagebar1" PageChange="pagechange(event)" >
</ns2:PageBar>
</mx:Application>
发表评论
-
how to keep dragged TitleWindow within Flex app boundary
2010-04-21 17:12 1500I am using PopupManager in FB ... -
java.lang.ClassCastException: flex.messaging.io.amf.ASObject cannot be cast to
2010-03-10 16:48 7583后台Java类: public class ... -
Flex3 tab键 失效
2010-03-02 15:10 1418我在Flex Application中因为想要Applicat ... -
创建Flex组件
2009-12-17 14:41 1110转自:http://www.ibm.com/developer ... -
Flex Canvas 获取焦点 失去焦点
2009-12-07 11:58 3761在Flex3中,虽然Canvas没有工具的提示,但是focus ... -
Flex3 + Blazeds+Spring2.5+Hibernate3.2 整合
2009-11-18 13:11 2117分两工程创建,当然也可创建一个工程就可以 CMS J ... -
Flex3.2实现中英文国际化
2009-10-12 17:56 25571.到Flex SDK3.2的bin下运行命令:copyloc ... -
拖拽时自动展开 Tree 节点
2009-06-02 17:22 1052有时候我们想要对Tree进行拖拽操作,把一个节点从父 ... -
Flex 获取焦点问题
2009-04-28 15:21 3803Flex中获取焦点可以用 application.focusM ... -
flex navigateToURL 中文乱码问题
2009-04-06 15:01 4831flex做前端,servlet做后端 在flex中naviga ... -
自定义ClassFactory,让DataGrid动态改变Button或Image等属性II
2009-02-19 14:11 2950上一期提到Flex3 自定义ClassFactory,让Dat ... -
IconUtility Component for Dynamic Run-Time Icons
2009-02-19 10:00 1697IconUtility Component for Dynam ... -
Flex3 自定义ClassFactory,让DataGrid动态改变Button或Image等属性
2009-02-18 13:09 6121在Flex的DataGrid中显示按钮Button或者图片Im ... -
DataGrid 颜色背景的控制 Actionscript3版本(三)
2009-02-02 17:44 1315<?xml version="1.0" ... -
DataGrid 背景颜色的控制(二)
2009-02-02 17:43 1840<?xml version="1.0" ... -
DataGrid 背景颜色的控制(一)
2009-02-02 17:41 2911设置行(row)的背景色 主要是通过对DataGrid扩展, ...
相关推荐
wpf、C#
图片是在XP下截的,所以看不出效果,在Win7下效果好点.其中的DataGrid分页绑定控件方法只要传入被绑定的DataGrid对象和数据源就可以绑定了,操作简单.
使用Flex开发DataGrid分页控件应用支持客户端及服务端
这是我自己开发的一个dataGrid分页的控件,上传的资源是一个打成包的flex项目,这个控件在查询数据时是与后台进行实时交互的,表格的表头样式是重写皮肤类进行定义的,而隔行变色是通过css来实现的。其中最重要的...
自定义DataGrid分页块完美实现
Flex中如何创建自定义排序DataGrid控件的例子
flex datagrid pagination, flex分页组件
flex 自定义 datagrid 列头带组合框进行过滤
winfrom datagrid 分页控件 1.支持打印 2.导出 3.隐藏显示列 4.其他
C# Winform+devexpress 实现分页功能,上一页,下一页,最前页,最后一页,总记录数,总页数功能,带功能描述文件:WinformPager_Help.CHM
简单的一个自定义label.根据dataGrid的数据变色.压缩包里一个是渲染器..一个是主程序....新建一个flex项目...把mxml和文件夹都放在scr下面就可以跑起来了..有问题请回复.
DataGrid模板列自定义控件使用,依赖属性的绑定
Flex 自定义DataGrid,带增删改查等各种功能.列锁定,序号等各种功能.
flex中的datagrid的分页定位以及高亮显示
flex自定义datagrid 实现复选和分页功能 flex自定义datagrid 实现复选和分页功能
用户自定义控件(dll文件),可实现在DGV中分页的功能。
WPF的DataGrid分页的功能,找了很久网上的资料,做了许久最后做出了一个公共的用户控件,让大家调用,分享一下。 供参考,希望有问题可以评论一下,告诉我互相学习
自定义Datagrid,合并列显示多个字段、排序、自定义分页。包括源码、示例、文档
这个分页只与后台交互一次,然后将获得的集合在前台进行分页显示。
wpf 分页控件例子,亲测可用哦