`
ppkosd
  • 浏览: 90645 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

EXT 分页效能问题 解决源代码!

阅读更多
业务代码!:

XMLReader = Class.create(XML) ;

XMLReader.construct = function($self , $class){

var $point = -1 ;

var $database = null ;

var $rows = null ;

var $textDoc = null ;

this.next = function(){

if($point == this.count())

return false ;

$point ++ ;

if($point < this.count())

return true ;

else

return false ;

}

this.first = function(){

$point = 0;

}

this.last = function(){

$point = this.count() - 1 ;

}

this.previous = function(){

if($point == -1)

return false ;

$point -- ;

if($point >= 0)

return true ;

else

return false ;

}

this.getItem = function(_key){

try{

if($point == -1)

var _row = $self.super0.selectSingleNode("/table/row[1]") ;

else

var _row = $self.super0.selectSingleNode("/table/row[" + ($point + 1) + "]") ;

return _row.getAttribute(_key) ;

}catch(_err){

return "" ;

}

}

this.count = function(){

return $self.super0.getRoot().getNodes().length;

}

this.initialize = function(_rs , _type , _start , _limit){

this.registerClass("core.XMLReader") ;

try{

if(_rs.getType() == "core.XML"){

$self.super0.initialize(_rs.getXML()) ;

return ;

}

}catch(_err){
}

if(_start != null && _limit != null){

var _cnt = 0 ;

_start = _start.toInteger() ;

var _end = _start + _limit.toInteger() - 1 ;

}


$self.super0.initialize("<table/>") ;

var _root = this.getRoot() ;

while(!_rs.EOF){

if(_start != null && _end != null){

if(_cnt < _start || _cnt > _end){

_rs.MoveNext() ;

_cnt ++ ;

continue ;

}
}

var _row =  this.newNode("row") ;

_row.setAttribute("index" , _cnt) ;

for(var _i = 0 ; _i < _rs.fields.Count ; _i ++){

if(_rs.fields.Item(_i).Type == 135)

if(String(_rs.fields.Item(_i).Value).trim() == null)

var _data = null ;

else

var _data = String(_rs.fields.Item(_i).Value).getDate().formatString() ;


else

var _data = String(_rs.fields.Item(_i).Value).trim() ;

if(_data != null)

if(_type != "text")

_row.setAttribute(String(_rs.fields.Item(_i).Name) , _data) ;

else

_row.newNode(String(_rs.fields.Item(_i).Name) , _data) ;

else

if(_type != "text")

_row.setAttribute(String(_rs.fields.Item(_i).Name) , "") ;

else

_row.newNode(String(_rs.fields.Item(_i).Name)) ;

}

_root.pushNode(_row) ;

_rs.MoveNext() ;

_cnt ++ ;

}

_root.setAttribute("count" , _cnt) ;

_rs.Close() ;
}

this.getXML = function(){

return $self.super0.getXML() ;

}
}

调用代码:

var _writer = new Writer(_msg.getVariable("pnId" , true)) ;

Write.writeXML(_writer.documentView(_msg.getVariable("start" , true) , _msg.getVariable("limit" , true))) ;

改方法采用ASPSERVER框架!  这是具体分页代码部分! 经测试 ,完全没效能问题!
分享到:
评论
3 楼 ppkosd 2007-10-11  
关于Ext的分页的效率问题,根据我对于Ext底层编码的应用经验,其是根据数据集的索引来进行分页的,换句话说,使用传统的SQL分页查询是可以解决这个问题,但编写复杂,而如果将整表数据全部导出,又会出现网络传输堵塞问题,考虑到以上的两种考虑,设计了一种可以将"数据全部查询,但部分解析"的应用思维,代码本贴所示,这也是AspServer框架代码的一个分支开发计划,即考虑如何使用纯粹的外部代码来实现高效的,多种数据库读写效率问题.
Struct与Spring是JSP应用中的两种流行的组件部署应用框架,Hibernate则是基于Java环境的数据库持久层框架,在传统编写Web程序中,它们的确发挥了很大的作用,不过,从AJAX的固有特点来看,它们在一些方面就不是那么优秀了,可以考虑另外一种JSP的AJAX框架——DWR,在与Ext的结合使用中,已经有了不少成功的案例。
2 楼 ppkosd 2007-10-11  
是的,是ASP for JavaScript,这个是我们公司的"ASP程序员向.NET程序员技术培训过渡计划"的一部分.
1 楼 sp42 2007-10-11  
Asp?
是Asp inJScript吗?

相关推荐

    Ext入门代码!!!!!!!!!!

    Ext的入门示例代码!!!!!!!!!!!!!!!!!!!!

    Chapter6-《Ext JS高级程序设计》源代码.rar

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

    ext 嵌入editarea 实现代码 源代码 代码高亮 显示

    ext 嵌入editarea 实现代码 源代码 代码高亮 显示 ext 嵌入editarea 实现代码 源代码 代码高亮 显示 ext 嵌入editarea 实现代码 源代码 代码高亮 显示 ext 嵌入editarea 实现代码 源代码 代码高亮 显示

    EXT分页工具条

    EXT分页工具条(Ext.toolbar.Paging)是EXT的toolbar组件的一个子类,可以通过以下代码创建: ```javascript var pagingToolbar = Ext.create('Ext.toolbar.Paging', { store: myStore, // 关联的数据存储 ...

    ext技术各种页面设计源代码

    ext技术各页面设计源代码:ext技术各页面设计源代码;ext技术各种页面设计源代码

    JavaScript凌厉开发——Ext详解与实践 源码 源代码 part3

    JavaScript凌厉开发——Ext详解与实践 源码 源代码 part3 因为源代码比较大,压缩后76M左右 所以分为四个包上传

    Ext 4.0开发包及源代码

    Ext 4.0开发包及源代码,能够满足Ext 4.0开发人员的需求。

    ext分页客户端demo Java js

    在这个"ext分页客户端demo Java js"的示例中,我们将探讨EXTJS如何实现客户端分页,以及如何与后端(如Java)进行数据交互,而无需在服务器端编写额外的Java代码。 EXTJS中的分页组件主要由Ext.grid.Panel和Ext....

    Chapter3-《Ext JS高级程序设计》源代码

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

    Ext 分页核心代码

    本篇将深入探讨Ext分页的核心代码及其工作原理,帮助你理解和实现高效的分页功能。 1. **Ext Grid Panel与分页** Ext Grid Panel是Ext JS中的一个关键组件,用于显示表格数据。它支持分页功能,可以轻松地管理和...

    EXT2.0动态树,分页!

    在“EXT2.0动态树,分页!”这个项目中,我们可以看到EXT2.0如何被用来创建一个后台管理系统的动态树结构,并结合了分页功能,以提高用户体验和系统性能。 动态树结构是EXT2.0中的一个重要特性,它允许用户交互地...

    ext4 表格分页实例代码

    这个简单的EXT4表格分页实例,展示了EXT JS如何优雅地处理大数据量的展示问题,使得用户界面保持流畅,提高了用户体验。同时,EXT JS提供了丰富的API和自定义选项,可以根据实际需求进行扩展和调整,满足各种复杂的...

    Chapter5《Ext JS高级程序设计》源代码.rar

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

    《Ext JS高级程序设计》源代码chapter9

    《Ext JS高级程序设计》源代码chapter9

    01-其他《Ext JS高级程序设计》源代码.rar

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

    Chapter13-《Ext JS高级程序设计》源代码.rar

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

    Chapter9-《Ext JS高级程序设计》源代码.rar

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

    Chapter10-《Ext JS高级程序设计》源代码.rar

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

    Chapter7-《Ext JS高级程序设计》源代码.rar

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

    Chapter11-《Ext JS高级程序设计》源代码.rar

    《Ext JS高级程序设计》光盘源代码 今天才买的书,随书附带的光盘,压缩文件很大,所以分开压缩上传,一共有: Chapter3-《Ext JS高级程序设计》源代码.rar Chapter4-《Ext JS高级程序设计》源代码.rar Chapter5...

Global site tag (gtag.js) - Google Analytics