Ext4.1 Grid 分页查询
转载:http://blog.csdn.net/zyujie/article/details/16362747
最近用Ext4.1自己做了做项目的练习:把一些知识点,在这里记录下来了!
上面一个form表单,用作添加用户信息,包含了一些验证技巧。下面是一个带查询参数的分页Grid。
- /**预加载的组件**/
- Ext.require([
- 'Ext.grid.*',
- 'Ext.data.*',
- 'Ext.util.*',
- 'Ext.toolbar.Paging',
- 'Ext.ModelManager',
- 'Ext.tip.QuickTipManager',
- 'Ext.layout.container.Border'
- ]);
- Ext.onReady(function(){
- Ext.Ajax.timeout = 60000; // 60秒
- var pageSize = 10;
- //自定义正则表达式验证
- Ext.apply(Ext.form.VTypes,{
- phonecheck : function(val) {
- return /(^[1][358][0-9]{9}$)/.test(val);
- },
- phonecheckText : "号码不匹配!"
- },{
- usercheck : function(val) {
- //var reg = /(^[1][358][0-9]{9}$)/;
- //if(reg.test(val)==false){
- // return false;
- //}
- return /^[a-z]+$/.test(val);
- },
- usercheckText : "格式不正确,只接受小写字母!"
- });
- var form = Ext.create('Ext.form.Panel', {
- id:'userForm',
- title:'添加系统用户',
- layout: 'column',
- defaultType: 'textfield',
- width: '100%',
- height: 140,
- bodyStyle: 'padding:5px',
- animCollapse:true,
- region : 'north',
- collapsible:true,
- border: true,
- frame: true,
- plan: true,
- items: [{
- columnWidth: .3,
- id:'userId',
- name:'userId',
- fieldLabel: '用户编号',
- fieldWidth: 30,
- labelStyle : "text-align:right;width:30;padding-right:10px;",
- blankText: '请输入用户编号',
- allowBlank: false,
- maxLength:18,
- minLength:5,
- vtype:'usercheck'
- },{
- id:'userName',
- name:'userName',
- fieldLabel: '用户姓名',
- fieldWidth: 30,
- labelStyle : "text-align:right;width:30;padding-right:10px;",
- blankText: '请输入用户名',
- allowBlank: false,
- maxLength:18,
- minLength:5,
- columnWidth: .3
- },{
- id:'password',
- name:'password',
- fieldLabel: '密码',
- fieldWidth: 30,
- inputType:'password',
- labelStyle : "text-align:right;width:30;padding-right:10px;",
- blankText: '请输入密码',
- allowBlank: false,
- columnWidth: .3
- },{
- id:'userMail',
- name:'userMail',
- fieldLabel: '电子邮箱',
- fieldWidth: 30,
- labelStyle : "text-align:right;width:30;padding-right:10px;",
- blankText: '请输入电子邮箱',
- allowBlank: false,
- vtype: 'email',
- style: {
- marginTop: '10px'
- },
- columnWidth: .3
- },{
- id:'phoneno',
- name:'phoneno',
- fieldLabel: '手机号',
- fieldWidth: 30,
- labelStyle : "text-align:right;width:30;padding-right:10px;",
- blankText: '请输入手机号',
- allowBlank: false,
- vtype:'phonecheck',
- style: {
- marginTop: '10px'
- },
- columnWidth: .3
- },{
- id:'remark',
- name:'remark',
- fieldLabel: '备注信息',
- fieldWidth: 30,
- labelStyle : "text-align:right;width:30;padding-right:10px;",
- blankText: '请输入备注信息',
- allowBlank: true,
- style: {
- marginTop: '10px'
- },
- columnWidth: .3
- }],
- buttons: ['->', {
- text: '添加用户',
- iconCls: 'icon-add',
- formBind: true,
- handler:function(){
- var form = Ext.getCmp('userForm').getForm();
- if(form.isValid()){
- form.submit({
- url: '/mymis/system/userinfo/addUserInfo.action',
- method:'post',
- waitTitle: "请稍候",
- waitMsg : '提交数据,请稍候...',
- success: function(form, action) {
- Ext.Msg.alert('Success', '保存成功!');
- var flag = action.result.reason;
- if(flag == "exists"){
- Ext.Msg.alert('警告', '系统中已存该用户编号,请重新输入!');
- }else{
- Ext.Msg.alert('提示', '用户信息成功添加!');
- var grid = Ext.getCmp("myGrid");
- var store = grid.getStore();
- store.load({ params: { start: 0, limit: pageSize} });
- grid.reconfigure();
- }
- },
- failure: function(form, action) {
- Ext.Msg.alert('错误', '用户信息添加失败,请联系管理员!');
- }
- });
- }
- }
- },'-',{
- text: '重 置',
- iconCls: 'icon-reset',
- handler:function(){
- Ext.getCmp('userForm').getForm().reset();
- }
- }]
- });
- /**grid**/
- Ext.define('MsgList', {
- extend: 'Ext.data.Model',
- fields: [
- {name: 'USER_ID', type: 'string'},
- {name: 'USER_NAME', type: 'string'},
- {name: 'USER_MAIL', type: 'string'},
- {name: 'PHONE_NO', type: 'string'}
- ],
- });
- var myStore = Ext.create('Ext.data.Store', {
- id:'myStore',
- model: 'MsgList',
- pageSize:pageSize,
- autoLoad: true,
- remoteSort: true,
- proxy: {
- type: 'ajax',
- url : '/mymis/system/userinfo/queryUserInfo.action',
- reader: {
- type: 'json',
- root: 'rows',
- totalProperty: 'total'
- },
- simpleSortMode: true
- },
- });
- var titleBar = Ext.create('Ext.toolbar.Toolbar', {
- renderTo: Ext.getBody(),
- width : 600,
- layout: {
- overflowHandler: 'Menu'
- },
- items: [{
- xtype:'textfield',
- id:'searchMsg',
- name: 'searchMsg',
- fieldLabel: '请输入查询条件',
- allowBlank: true
- },'-',{
- xtype:'button',
- text:'查询',
- iconCls: 'icon-search-form',
- handler: function(){
- var txtSearch = Ext.String.trim(Ext.getCmp("searchMsg").getValue());
- var grid = Ext.getCmp("myGrid");
- var store = grid.getStore();
- //var pagingTB = Ext.getCmp("pagingBT");
- store.load({ params: { start: 0, limit: pageSize,searchMsg: txtSearch} });
- grid.reconfigure();
- //alert(pagingTB);
- //pagingTB.doRefresh();
- }
- }]
- });
- var grid = Ext.create('Ext.grid.Panel', {
- id:'myGrid',
- tbar:titleBar,
- store: myStore,
- frame: true,
- region:'center',
- border: true,
- split: true,
- loadMask:{msg:"数据加载中,请稍等..."},
- //collapsible: true,
- //autoHeight : true,
- columns: [
- { header: '编号', dataIndex: 'USER_ID', flex: 2 },
- { header: '姓名', dataIndex: 'USER_NAME', flex: 6 },
- { header: '邮箱', dataIndex: 'USER_MAIL', flex: 3 },
- { header: '手机号', dataIndex: 'PHONE_NO', flex: 3 }
- ],
- //features: [{ftype:'grouping'}],
- width: '100%',
- height: Ext.getBody().getHeight() - 140,
- //loadMask: true,
- bbar: Ext.create('Ext.PagingToolbar', {
- id:'pagingBT',
- store: myStore,
- displayInfo: true,
- displayMsg: '显示 第 {0} - {1} 条记录 一共 {2} 条记录',
- emptyMsg: "没有一第记录显示"
- })
- });
- Ext.create('Ext.container.Viewport',{
- layout : 'border',
- items : [form,grid]
- });
- //带自定义参数的分页
- myStore.on('beforeload', function (store, options) {
- var searchMsg = Ext.getCmp('searchMsg').getValue();
- Ext.apply(store.proxy.extraParams, {searchMsg: searchMsg});
- });
- myStore.load({ params: { start: 0, limit: pageSize} });
- });
添加用户的Form表单提交Action:
Ext4.1 Grid 分页查询的更多相关文章
- Ext4.2 grid 条件查询使用
项目中用到Ext4.2,初次接触,用的不是太熟,做个总结,恳请指正! 1.grid重新设置条件,查询结果不是从第1页开始 在处理grid条件查询时,点击搜索按钮调用store.load()方法时,会把 ...
- [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)
先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...
- dhtmlxGrid分页查询,条件查询实例
使用jquery的ajax get将页面条件请求到后台,取得数据库数据,分页查询,返回前台grid中. 引入所需文件: <script>window.dhx_globalImgPath = ...
- EasyUi+Spring Data 实现按条件分页查询
Spring data 介绍 Spring data 出现目的 为了简化.统一 持久层 各种实现技术 API ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 . 自己 ...
- JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能
1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建data ...
- JAVAEE——BOS物流项目06:分页查询、分区导出Excel文件、定区添加、分页问题总结
1 学习计划 1.分区组合条件分页查询 n 分区分页查询(没有过滤条件) n 分区分页查询(带有过滤条件) 2.分区导出 n 页面调整 n 使用POI将数据写到Excel文件 n 通过输出流进行文件下 ...
- 一个共通的viewModel搞定所有的分页查询一览及数据导出(easyui + knockoutjs + mvc4.0)
前言 大家看标题就明白了我想写什么了,在做企业信息化系统中可能大家写的最多的一种页面就是查询页面了.其实每个查询页面,除了条件不太一样,数据不太一样,其它的其实都差不多.所以我就想提取一些共通的东西出 ...
- 序列化表单为json对象,datagrid带额外参提交一次查询 后台用Spring data JPA 实现带条件的分页查询 多表关联查询
查询窗口中可以设置很多查询条件 表单中输入的内容转为datagrid的load方法所需的查询条件向原请求地址再次提出新的查询,将结果显示在datagrid中 转换方法看代码注释 <td cols ...
- SSH——基于datagrid实现分页查询
1. 修改页面中datagrid的URL地址,访问action // 取派员信息表格 $('#grid').datagrid( { iconCls : 'icon-forward', fit : tr ...
随机推荐
- 一种计算e的方法
原文地址:http://hankjin.blog.163.com/blog/static/3373193720108811316123/ 原理:平均e个(0,1)之间的随机数之和会大于1.原因:n个数 ...
- BAT等互联网公司薪资分享
- 全是干货---Linux 高可用(HA)集群基本概念详解
http://www.linuxidc.com/Linux/2013-08/88522.htm 高可用集群的衡量标准 HA(High Available), 高可用性群集是通过系统的可靠性(re ...
- 如何给div加一个边框border样式
如何给div加一个边框样式? 对div盒子加一个边框样式很简单只需要使用border板块样式即可. 一.虚线与实线边框 边框虚线样式:dashed 边框实现样式:solid border:1px da ...
- Inotify: 高效、实时的Linux文件系统事件监控框架
Inotify: 高效.实时的Linux文件系统事件监控框架 概要 - 为什么需要监控文件系统? 在日常工作中,人们往往需要知道在某些文件(夹)上都有那些变化,比如: 通知配置文件的改变 ...
- UVA-11983-Weird Advertisement(线段树+扫描线)[求矩形覆盖K次以上的面积]
题意: 求矩形覆盖K次以上的面积 分析: k很小,可以开K颗线段树,用sum[rt][i]来保存覆盖i次的区间和,K次以上全算K次 // File Name: 11983.cpp // Author: ...
- IGeometry 中取指定的点
private static IGeometryCollection MakeMultiPoint(IGeometry geometry,int pointcount) { IGeo ...
- Thinkphp分页时查询条件保存方法
web应用中经常要根据用户提交的查询条件进行过滤,再以列表方式显示在浏览器上.如果这种查询是多种条件的组合,并要进行分页显示,则如何在分页导航中保持查询条件,是必须解决的问题. 在Thinkphp中, ...
- XQuery FLWOR 表达式
FLWOR 是 "For, Let, Where, Order by, Return" 的只取首字母缩写.for 语句把 bookstore 元素下的所有 book 元素提取到名为 ...
- javaweb项目的优化 - 几番思念
简单地来看一个浏览器用户访问的流程: 浏览器->服务器->返回结果显示 这么简单地看,可能想得到的优化手段很少,常见的可能就是优化sql,加快数据库处理:加个缓存,加快返回:使用静态文件 ...
