目前Ext Grid的RowExpander使用的模板,是在读取Grid同步加载,实际上这样的处理并不是很好,如果数据量大的话,对性能会有一定影响,更好的处理方式是异步加载,只有需要的时候再加载需要的数据。下面介绍如果实现:
一,下载此文件http://blog.cutterscrossing.com/enclosures/rowexpander%5Fexample%2Ezip ,这是国外一个朋友扩展的RowExpander,我对比了几种处理方式,他这个写的最简洁,而且最容易使用,所以推荐大家使用他的RowExpander。他的Blog主页:http://blog.cutterscrossing.com/index.cfm?mode=entry&entry=E7D79511-3048-71C2-177E88E50F9A699D
二,将下载的压缩文件用WinRar或者别的压缩文件解压缩,将“rowexpander_example\resources\js\custom”目录中的“RowExpander.js”加入你要用的页面中,这个就是我们要使用的RowExpander。
三,在页面中使用这个RowExpander。其实就是在想使用RowExpander的页面中实例化这个RowExpander,实现异步加载数据的方法。在你定义好了自己的Grid的前提下,使用的具体代码示例如下:
// RowExpander实例化
var expander = new Ext.grid.RowExpander( {
remoteDataMethod :getRemoteData
})
//调用远程数据函数
function getRemoteData(){
//你要实现的调用远程数据的代码
//更新数据到页面中,最终数据显示靠这个实现,必须使用!!
Ext.getDom(’remData’ + index).
|
实际上已经有很完整的示例在那位作者的程序中了“rowexpander_example\resources\js\custom\gridtest.js”。
注意问题:
这个远程方法最后是通过innerHTML 方法把得到的数据显示在页面中,如果页面使用了多个Grid,创建了多个RowExpander实例,那么就需要修改RowExpander.js里面的一点代码了,否则一直显示数据在一个DIV中,同时页面中也要区别要把数据显示在哪个DIV中。
1,修改RowExpander中的beforeExpand,将if (this.remoteDataMethod) {}中原来的代码修改成你要显示的DIV,原来的DIV名字为“remData”,修改成你想用的名字,如果是多个RowExpander实例,根据自己需要判断,生成多个不同名字的DIV。
2,页面显示数据在不同的DIV中。主要就是将数据innerHTML 在哪个DIV中。根据自己的需要判断后,调用“Ext.getDom(你的DIV编号 + index).innerHTML=你的数据”,这样就可以实现多个实例共用了!
分享到:
相关推荐
在本主题中,我们将深入探讨“ext RowExpander”这一功能,它是一种增强EXTJS表格视图的强大工具,用于在表格行内添加可展开的区域,以显示更详细的信息。EXTJS是一个流行的JavaScript UI框架,提供了丰富的组件和...
在本文中,我们将深入探讨如何使用ExtJS库中的RowExpander插件来实现在GridPanel中内嵌行内的表格。ExtJS是一个强大的JavaScript框架,它提供了丰富的组件和功能,用于构建复杂的Web应用程序。RowExpander插件是...
在EXTJS中,使用`Ext.Ajax.request`方法可以实现异步请求,它接受一个配置对象,包括URL、请求方法、回调函数等。 ```javascript Ext.Ajax.request({ url: '/base/business/SysPublicAction.do', params: { ...
"Ext tree 结合dwr 调用后台数据"这个主题涉及到两个关键的技术:Ext JS的Tree组件和Direct Web Remoting (DWR)。这两个技术的结合使得前端用户界面能够动态地展示并操作后台的数据。 首先,让我们来了解一下**Ext ...
总结来说,jQuery提供的异步调用功能涵盖了从基础的选择器操作到复杂的数据交互处理。它的灵活性和简便性使得开发者能够更加专注于业务逻辑的实现,而不需要过分关心底层的Ajax实现细节。无论是初学者还是经验丰富的...
以上就是使用DirectJNgine和Ext Direct实现Java服务器端方法调用的基本流程。在这个精简版的官方Demo中,你可以找到更具体的代码实现和详细的配置细节。在实际开发中,你可能需要根据具体需求进行扩展和优化,如添加...
在Ext JS库中,`Ext.grid.plugin.RowExpander`是一个扩展插件,用于在网格行中添加可展开的详情区域。在Ext4.2版本中,用户可能遇到一个特定的问题,即`RowExpander`的`collapsebody`和`expandbody`事件无法正常触发...
本文详细介绍了如何使用ExtJS中的`Ext.ux.tree.TreeGrid`组件实现异步加载功能,包括前端配置和后端数据处理两个方面。通过这种方式可以有效提升用户体验,同时减轻服务器的压力。在实际开发过程中,还需要根据具体...
现在我们来详细探讨如何利用ZTree和DWR实现异步加载树形菜单。 首先,ZTree是一个轻量级、灵活的jQuery插件,适用于构建可自定义的树形菜单。它支持多种操作,如点击节点、拖拽节点、右键菜单等,且提供了丰富的API...
在“Ext3.0实现多文件上传.rar”这个压缩包中,我们聚焦于一个特定的功能:使用Ext3.0来实现实时的多文件上传功能。这个功能通常在网页应用中用于让用户能够一次性上传多个文件,如图片、文档等,极大地提高了用户...
在ExtJS 3中,实现异步下拉树涉及到几个关键概念和技术。 首先,理解“异步”意味着数据不是一次性加载完毕,而是按需加载。在下拉树中,当用户展开树节点时,只加载该节点及其子节点的数据,这减少了初始页面加载...
这通常涉及到Ajax请求,Ext3.0的Ajax组件(如Ext.Ajax或Ext.data.Connection)可以方便地实现异步通信,使得用户无需刷新页面即可完成验证。 在实际项目中,为了提高用户体验,还可以加入一些额外的功能,比如: 1...
实现异步加载树的关键步骤包括: 1. **配置Tree Store**: 首先,你需要创建一个Tree Store,并配置它的`proxy`属性。这通常是Ajax类型的,用来与服务器通信。设置`url`属性指向服务端接口,`reader`属性定义如何...
根据给定的信息,本文将详细解释如何在Ext框架中实现Excel导出功能。这涉及到从前台界面设计到后端数据处理的多个环节。下面将依次介绍相关知识点。 ### 一、Ext简介 Ext是一个用于构建交互式Web应用程序的...
EXT异步提交FORM表单的核心是通过Ajax技术实现表单数据的后台提交,而无需刷新整个页面。这种方式的主要优点在于能够提供更加流畅的用户交互体验,同时减少了服务器端的负载压力。 ##### 2.2 实现步骤 1. **初始化...
'使用VB6来开发,某些功能基本上不可能实现,比如想注入一个X64进程 '有了本模块,一切都变得有可能,虽然VB6处理某些东西吃力效率低,但起码是有方法了 '使用本模块在调试环境下有可能出现诡异道情况(已尽可能...
例如,`java过滤器对ext异步请求跳转.txt`可能包含了一个Java过滤器的实现,用于处理Ext的异步请求。这个过滤器可能会检查请求头中的特定字段,或者查看请求参数,判断是否需要进行页面跳转。如果发现需要跳转,过滤...
Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理
在这个例子中,当用户点击一个未展开的节点时,`itemclick`事件会被触发,进而调用`store.loadNode(record)`来异步加载子节点。服务器端的`loadSubNodes.php`应返回一个包含子节点数据的JSON对象,其结构为`{nodes: ...
在实际应用中,Store通常会连接到服务器端的数据接口,实现数据的异步加载和更新。这可能涉及到Ajax请求或者使用Ext.data.proxy.Proxy来处理远程数据。如果样例中包含了一个模型(Model),那么它将定义数据结构,帮助...