效果图如上:

页面代码:

 Ext.QuickTips.init();   //放在图标上会自动提示信息

 Ext.define('ExtApp.view.StudentList' , {
extend : 'Ext.grid.Panel' ,
id : 'StudentListGrid' ,
xtype : 'StudentList' ,
store : 'StudentList' ,
draggable:false, //设置为false则禁用拖拽改变列顺序、
columnLines:true,//添加列的框线样式
viewConfig: {
stripeRows:true //True来实现隔行换颜色
},
tbar : [{
xtype : 'form',
id : 'queryFormSL' ,
width : '100%',
items : [{
xtype : 'container',
padding : 5,
flex : 2,
layout : {
type : 'hbox'
},
items : [{
labelWidth : 60,
labelAlign : 'right',
width: 200,
xtype : 'combo',
fieldLabel:'选择年级',
name:'gradeCode',
id : 'cobStudentListGradeCode',
store : 'Grade',
valueField : 'gradeCode',
displayField : 'gradeName',
editable : false,
emptyText : '请选年级',
queryMode : 'local' },{
xtype : 'textfield',
labelSeparator:':',
labelWidth : 150,
width: 300,
labelAlign : 'right',
id:'SListTextField',
name:'userNameORuserCode',
fieldLabel : '输入学生ID或学生姓名'
},{
xtype : 'button',
id : 'btnStuListQuery',
text : '查询'
},{
xtype : 'button',
id : 'btnStuListReset',
text : '重置'
}]
}]
}],
columns : [
{ xtype:'rownumberer',text:'序号',flex:1, align:'center'},
{ text:'账户ID' , flex:2 , align:'center' , dataIndex:'userCode' },
{ text:'用户姓名' , flex:1 , align:'center' , dataIndex:'userName'},
{ text:'性别' , flex:1 , align:'center' , dataIndex:'sex' },
{ text:'城市' , flex:1 , align:'center' , dataIndex:'cityName' },
{ text:'学校' , flex:1 , align:'center' , dataIndex:'schoolName'},
{ text:'年级号' , flex:1 , align:'center' , dataIndex:'gradeCode'},
{ text:'联系电话' , flex:2 , align:'center' , dataIndex:'tel'},
{ text:'邮箱' , flex:2 , align:'center' , dataIndex:'email'},
{ text:'QQ' , flex:2 , align:'center' , dataIndex:'qq'},
{ header:'账户注册时间',align:"center",flex:3,dataIndex:'firstAccessDate',xtype:'datecolumn',format:'Y-m-d H:i:s'},
{ header: '详细信息' ,
xtype: 'actioncolumn' ,
width: 50 ,
flex : 1 ,
align:'center',
items: [{
icon: 'images/grid.png' ,
tooltip: '详细信息' ,
handler: function(grid, rowIndex, colIndex){
var record = grid.getStore().getAt(rowIndex);
var win = Ext.create('ExtApp.view.StudentDetails').show();
var form = win.down('form').getForm();
form.loadRecord(record);
}
}]
}
],
dockedItems:[{
xtype: 'pagingtoolbar',
store : 'StudentList' , // GridPanel中使用的数据
dock: 'bottom',
displayInfo: true
}]
});

点击"查询"按钮触发事件:

 StuListQuery:function(btn,event){
var store=this.getStore('StudentList');
var form=btn.up('form[id=queryFormSL]');
var grid=form.up('grid[id=StudentListGrid]');
//var grid=Ext.getCmp('StudentListGrid');
var pageBar = grid.down('pagingtoolbar');
var userNameORuserCode=form.getForm().getValues()['userNameORuserCode']; //form.getForm.getValues()返回的是一个数组
var gradeCode = form.getForm().getValues()['gradeCode'];
store.setProxy({
type:'ajax',
actionMethods:{
read:'POST'
},
url:'queryStudent.action',
extraParams:{'userNameORuserCode':userNameORuserCode,
'gradeCode':gradeCode
},
reader:{
type:'json',
root: 'rows',
totalProperty: 'results'
}
});
pageBar.moveFirst();
},

 Extjs中找Form,Extjs找组件的方式:

1,Extjs.getCmp

2,通过组件之间的关系,up,down

Extjs查询实现的更多相关文章

  1. EXTJS4 Grid Filter 插件的使用 与后台数据解析------Extjs 查询筛选功能的实现

    先汗一个,一个小功能又踢腾了一天.本来这个带Demo的,但是上面介绍的不是很详细.用的时候问题不大,主要问题在文件导入方面.以为这个插件的使用和其他的不一样. 1.首先是需要引入文件的位置:如图 需要 ...

  2. Python开发入门与实战14-基于Extjs的界面

    14. 基于Extjs的界面 上一章我们实现了一个原生的html例子,本章我们将采用Extjs实现界面的展现,来说明MVC模式下我们是怎么考虑界面与业务层的关系的. 14.1. 引用Extjs目录 首 ...

  3. MongoDB的查询

    一.Find操作 二.分页和排序 三.游标的使用 一.Find查询 事前准备:插入如下数据 db.Students.insert([ { _id:1, name:"Zhao", a ...

  4. Extjs4.2 Grid搜索Ext.ux.grid.feature.Searching的使用

    背景 Extjs4.2 默认提供的Search搜索,功能还是非常强大的,只是对于国内的用户来说,还是不习惯在每列里面单击好几下再筛选,于是相当当初2.2里面的搜索,更加的实用点,于是在4.2里面实现. ...

  5. ExtJS 4.2 业务开发(二)数据展示和查询

    本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...

  6. ExtJs 可查询的下拉框

    最近项目中有个需求,就是有四个模块需要加载一个主表的内容,比如说这个表叫项目表(比如项目表里有两个字段一个是项目ID--projCd,还有一个是项目名称--projNm).主表的内容的要放在一个下拉框 ...

  7. [ExtJS5学习笔记]第三十五节 sencha extjs 5 组件查询方法总结

    一个UI前台组件肯定会比较多,我们通常习惯性的使用ID来获取需要操作的组件,但是这种方法是extjs推荐的么?有没有extjs推荐使用的获取组件的方法呢? 目录 目录 extjs的查询组件的API 查 ...

  8. Extjs tree 过滤查询功能

    转载: http://blog.csdn.net/xiaobai51509660/article/details/36011899 Extjs4.2中,对于treeStore中未实现filterBy函 ...

  9. Extjs treePanel过滤查询功能【转】

    Extjs4.2中,对于treeStore中未实现filterBy函数进行实现,treestore并未继承与Ext.data.Store,对于treePanel的过滤查询功能,可有以下两种实现思路: ...

随机推荐

  1. shell 爬虫 从日志分析到数据采集与分析

    [root@VM_61_158_centos ~]# curl http://ip.chinaz.com/220.112.233.179 |grep -e Whwtdhalf.*span.*span. ...

  2. STL 之 list源码自行实现(iterator)

    (0)文件夹 STL 之 vector源码实现(云算法<< [] = 重载, new delete,throw catch) STLc++中string类的源码 堆(stack) 之 c ...

  3. go13---反射reflection

    package main /** 反射reflection 反射可大大提高程序的灵活性,使得 interface{} 有更大的发挥余地 反射使用 TypeOf 和 ValueOf 函数从接口中获取目标 ...

  4. YTU 2547: Repairing a Road

    2547: Repairing a Road 时间限制: 1 Sec  内存限制: 128 MB 提交: 3  解决: 2 题目描述 You live in a small town with R b ...

  5. C# oracle 参数传递的多种方式 留着复习

    ORA-01036 非法的变量名/编号,(解决) 博客分类: oracle SQL  下边的代码就会造成  ORA-01036 非法的变量名/编号 cmd.CommandText = "SE ...

  6. android判断正在使用的网络类型 0.不知道网络类型;1、2G;2、3G;3、4g;4、wifi

    判断正在使用的网络类型 0.不知道网络类型:1.2G:2.3G:3.4g:4.wifi /** Unknown network class. {@hide} */ public static fina ...

  7. 4.9 Parser Generators

    4.9 Parser Generators This section shows how a parser generator can be used to facilitate the constr ...

  8. 清北考前刷题day6下午好

    /* 贪心 负数一定不取 枚举最高位是1 且答案取为0的 位置, 更新答案. */ #include<iostream> #include<cstdio> #include&l ...

  9. 最近我总结的常用mate标签-常用mate标签

    昨天开始上班  ,今天晚上不是太忙 ,来写篇博客了 meta元素共有三个可选属性(http-equiv.name和scheme)和一个必选属性(content),content定义与 http-equ ...

  10. 分享几篇有关react-native的博客

    http://segmentfault.com/a/1190000002646155 http://facebook.github.io/react-native/docs/native-module ...