extjs4
相信很多人在用from对grid动态查询时,都遇到过pagingtoolar分页不更新的问题,我也是翻了好多次api,搜索了好多次,试用了好多次,终于找到了解决办法,希望对大家有用。
在下面的代码中,可以直接拷到页面中用,但需要改几个地方:
1.form中的items
2.proxy的url
3.fields的field
4.grid的columns
5.save()方法中的extraParams要传递的参数
改动的地方都很简单,需要根据实际情况而定.其中save()方法,实现了动态更新grid及pagingToolbar的数据。
var form = Ext.create("Ext.form.FormPanel", { frame : true, autoWidth : true, bodyPadding : '5 5 5 5', fieldDefaults : { labelAlign : "right", msgTarget : "side", labelWidth : 60 }, layout : { type : "table", columns : 2, tdAttrs : { style : "padding:2px" } }, items : [ { xtype : "textfield", id:"title", fieldLabel : "职务名称" }, { xtype : "textfield", id:"group", fieldLabel : "组织名称" } ], buttons : { menuAlign : "center", items : [ { type : "submit", text : "查询", handler : save }, { type : "rest", text : "取消", handler : wind } ] } }); var win; function wind() { win = Ext.create("widget.window", { title : "window", closable : true, closeAction : 'hide', width : 600, height : 350, tools : [ { type : "pin" } ] }); if (win.isVisible()) { win.hide(this, function() { button.dom.disabled = false; }); } else { win.show(this, function() { button.dom.disabled = false; }); } } Ext.define('fields', { extend : 'Ext.data.Model', fields : [ "title", "sendtime", "sheetid" ] }); var proxy; function setProxy() { var url = "http://localhost:8080/etw/user2!extJson2.action"; proxy = new Ext.data.HttpProxy({ type : 'ajax', url : url, reader : { type : "json", root : "list", totalProperty : "jsonStr" } }); return proxy; } var store = new Ext.data.JsonStore({ pageSize : 3, proxy : setProxy(), model : "fields" }); var page = new Ext.PagingToolbar({ id : "page", store : store, displayInfo : true, emptyMsg : "no data" }); var grid = Ext.create("Ext.grid.Panel", { id : "grid", height : 200, store : store, loadMask : true, disableSelection : true, resizable : true, columns : [ { text : "title", dataIndex : "title" }, { text : "sheetid", dataIndex : "sheetid" }, { text : "sendtime", dataIndex : "sendtime" } ], bbar : page }); store.loadPage(1); var centerRegion = new Ext.create("Ext.Panel", { id : "center_region", title : "职务管理", region : "center", width : "80%", xtype : "panel", items : [ form, grid ], renderTo : Ext.getBody() }); function save() { var title = form.getForm().findField("title").getValue(); var group = form.getForm().findField("group").getValue(); store.on("beforeload", function() { Ext.apply(store.proxy.extraParams, { title : title, sheetid:group }); }); store.load(); }
相关推荐
2. Grid:EXTJS Grid是数据展示的主要组件,它与Store绑定后,可以自动展示Store中的数据,并支持分页操作,如切换页码、显示每页记录数等。 3. Paging Toolbar:分页条是EXTJS提供的一种UI组件,它包含页码按钮、...
在ExtJS中,Grid的分页通常是通过`Ext.grid.Panel`的`pagingToolbar`配置实现的。`pagingToolbar`是一个包含导航按钮(如“上一页”、“下一页”)和当前页信息的工具栏,它与数据源(通常是`Ext.data.Store`)关联...
非传统分页工具. 简单说明下: 显示第一页与最后一页. 显示当前页对称的前后几页(可以自定义显示多少页). 其它的页码省略. 点击省略号, 省略号隐藏, 显示一个与省略号相同宽度的页面跳转转入框. 整个设置还比较智能....
### Extjs4 Grid分页与自动刷新 #### 一、Extjs4 Grid 分页功能实现 在使用Extjs4进行Web应用开发时,Grid控件是常用的数据展示组件之一。对于大数据量的情况,通常需要使用分页来提高用户体验。下面详细介绍如何...
总结起来,使用ExtJS实现动态加载Grid并集成CRUD和分页功能,需要熟练掌握Store、Grid、Proxy和分页工具栏的配置,以及后台接口的设计。通过这种方式,可以构建出高效、灵活且用户友好的数据管理界面。
总结起来,EXTJS的分页功能通过Grid组件、Store和Proxy的配合,实现了前端与后端的数据交互。在前端,我们配置Grid和Store来展示分页数据,而在后端,我们编写接口来处理分页请求并返回响应。这是一个基本的EXTJS...
EXTJS Grid支持分页功能,通过`pagingToolbar`和`store`的`pageSize`属性实现。`pagingToolbar`提供分页按钮,`store`的`loadPage`方法用于加载指定页码的数据。 五、排序和过滤 Grid允许用户对数据进行排序,通过...
在Extjs中使用`pagingtoolbar`组件进行分页操作时,通常情况下,当我们点击“下一页”,`store`会自动加载数据。但是,默认情况下`store`只传递了`start`和`limit`两个参数,这意味着如果之前进行了某种查询(例如...
4. **分页**:Grid可以通过`pagingToolbar`组件实现分页,方便浏览大量数据。分页配置包括`pageSize`、`store`和`displayInfo`等。 5. **排序**:EXTJS Grid支持单列或多列排序,只需点击列头即可改变排序顺序。...
Grid组件在Web应用中广泛使用,因为它提供了强大的数据展示、排序、分页、筛选和编辑功能。以下是对`ExtJS Grid`示例代码的详细解析: 1. **Grid的基本结构** - `Ext.grid.Panel`:这是Grid组件的基础类,它包含了...
2. **分页功能**:Grid的分页功能由`pagingToolbar`提供,它可以显示页码和页大小选择,与后端数据接口配合实现数据的分页加载。在ExtJS中,需要设置`store`的`pageSize`属性来指定每页的数据量,并监听`store`的`...
分页组件在EXTJS中通常由PagingToolbar提供,这是一个放置在Grid或TreePanel底部的工具栏,包含了导航按钮和页码显示。在Combobox中实现分页,我们需要自定义Combobox的行为,使其能够与PagingToolbar协同工作。 `...
3. **分页栏(Paging Toolbar)**:PagingStore通常与PagingToolbar组件一起使用,PagingToolbar提供了导航按钮(如“上一页”、“下一页”)和页码显示,用户可以通过交互来切换页面。 4. **数据加载和更新**:当...
在ExtJS中,分页主要通过`Ext.grid.Panel`组件的`pagingToolbar`来实现。`pagingToolbar`提供了分页控件,用户可以通过点击页码或使用导航按钮来切换页面。分页的核心配置项包括`store`和`proxy`。`store`是数据存储...
在ExtJS中,分页主要通过Store对象与Grid配合完成,Store负责数据的加载和管理,而Grid则负责数据显示。分页功能可以通过设置Store的`paging`配置项来启用,例如: ```javascript var store = Ext.create('Ext.data...
分页可以通过`pagingtoolbar`实现,排序通过`column.sortable`属性和`store.sort()`方法,而远程过滤和分组则需要服务器端的支持。 总的来说,"Extjs4.0.2a grid 增删改查"的压缩包应该包含了一系列的示例代码,...
在这个实例中,我们可以使用Grid Panel来显示数据。Grid Panel允许我们配置列(columns)、行(rows)和各种样式。同时,我们还需要添加一个分页工具栏(paging toolbar)来实现分页功能。 ```javascript Ext....
1. 创建EXTJS Grid:定义列模型、Store和Column模型,配置分页参数。 ```javascript var store = Ext.create('Ext.data.Store', { storeId: 'myStore', model: 'MyModel', proxy: { type: 'ajax', url: 'struts...
添加`pagingtoolbar`到`Grid`的底部,它会自动与`Store`关联,并提供分页操作。 ```javascript dockedItems: [{ xtype: 'pagingtoolbar', store: store, // 绑定到store dock: 'bottom', displayInfo: true ...
当然,ExtJS提供了大量的API和配置选项,可以根据项目需求进一步定制和优化Grid的功能,例如行编辑、列重排、自定义分页样式等。在实际开发中,不断学习和实践,才能更好地掌握ExtJS Gride的精髓。