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 ...
随机推荐
- pycharm console 控制台乱码的解决
- BZOJ 1008 越狱
Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 In ...
- Sphnix创建文档
http://www.ibm.com/developerworks/cn/opensource/os-sphinx-documentation/ Oracle实例名和服务名
- c#获取带有汉字的字符串长度
不知道大家注意没,用c#下自带的str.Length方法获得字符串str长度的时候,返回的总是字符的个数,但是如果字符串中包含汉字的话,一个汉字是占两个字符长度的,获取的长度值就有了问题. 解决方案: ...
- mangos搭建
github地址:https://github.com/mangos/MaNGOS MaNGOS 是( Massive Network Game Object Server) 的缩写.由于暴雪公司对类 ...
- 【HDOJ】4704 Sum
数学题.f(n) = 2^(n-1) mod (1e9+7). #include <cstdio> #define MAXN 100005 char buf[MAXN]; __int64 ...
- 怎么添加项目到SVN上面
一.通过SVN客户端向服务器上面添加项目 1.在服务器上面创建一个文件夹,文件夹以项目名称命名. 2.在合适目录下右击后,点击SVN Checkout,将你在服务器上面创建的目录checkout下来 ...
- SQLCMD的用法,使用CMD 执行sql语句
SQLCMD的用法,使用CMD 执行sql语句 SQLCMD 允许在Windows命令窗中通过命令行提示符运行脚本. 语法如下: sqlcmd [ { { -U <login id> ...
- Delhpi TdxComponentPrinter怎样联上dxdbgrid中的数据打印
有谁知道TdxComponentPrinter怎样联上dxdbgrid中的数据打印? 有谁知道TdxComponentPrinter怎样联上dxdbgrid中的数据打印? 回复人: ...
- 暴力求解——素环数 Prime Ring Problem ,UVa 524
Description A ring is composed of n (even number) circles as shown in diagram. Put natural numbers i ...
