Extjs6(六)——增删查改之查询
本文主要实现的效果是:点击查询按钮,根据form中的条件,在Grid中显示对应的数据(如果form为空,显示全部数据)
一、静态页面
1、查询按钮
{
text:'查询',
handler: 'onSearch'
},
2、写查询条件的form
{
fieldLabel: '条件一',
name: 'code',
minWidth: 180
},
{
fieldLabel: '条件二',
name: 'name',
minWidth: 180
}
3、显示数据的Grid
//store要create一下,要不然取不到
store:Ext.create('app.store.system.organization.OrganizationListStore',{
storeId:'organizationListStore'
}),
//**********************************
columns: [
{
text: '组织编码',
dataIndex: 'organizationCode',
flex: 1,
minWidth:135
},
{
text: '组织名称',
dataIndex: 'organizationName',
flex: 2,
minWidth:180
}
],
});
二、写查询按钮的点击事件onSearch及store
1、onSearch,写在controller里面
onSearch: function () {var form = this.getView().lookupReference('organizationList-main').lookupReference('organizationListForm');//取得查询条件form,getView得到引用了controller的页面,lookupReference方法下面说
var data = {};
form.getForm().getFields().each(function() { //遍历form
var name = this.getName();
var value = this.getValue();
if(value instanceof Array && value != null){ //若value不为空 且是Array类型
value = value.join(","); //给value中的值用逗号隔开
}
data[this.getName()] = value; //把value放到data里
}); var organizationGrid = this.getView().lookupReference('organizationList-main').lookupReference('organizationListGrid'); //取得grid
OrganizationListStore = organizationGrid.store; //取得store OrganizationListStore.on('beforeload', function (OrganizationListStore) {
OrganizationListStore.getProxy().extraParams = data; //把data中的搜索条件传入store中
}); OrganizationListStore.load({ //分页的时候写,加载后起始页码
params: {
start: 0,
page:1
}
});
},
2、store
ajax请求,post方法,数据存放在body中
proxy: {
type: 'ajax',
url: xxxxx/find,
actionMethods: {
read: 'POST'
},
reader: {
type: 'json',
rootProperty: 'body'
},
paramsAsJson: true
},
autoLoad: false
三、重置form
1、重置按钮
{
text:'重置',
iconCls:'x-fa fa-refresh',
handler: 'reset'
}
2、重置函数reset
通过lookupReference找到form,然后对form进行重置。
Ext.define('Learning.view.personalInfo.personalController', {
extend: 'Ext.app.ViewController', alias: 'controller.personalInfo', reset: function () {
var form = this.getView().lookupReference('personalForm');
form.getForm().reset();
},
});
四、其它(关于各种get)
1、Ext.getCmp("id名");
通过id获取,要给对象加一个id属性。
注:id是唯一的,也就是在整个项目中都不能有重复的id名,否则就会出错,所以用reference显然更好。
2、getView()
得到整个页面。
如this.getView(),就是得到当前controller所在的页面。
3、lookupReference('reference值') (这个好像没有get呀,哈哈)
在需要用到reference的父页面加入 referenceHolder: true,
然后给对象加上reference属性。
4、getSelection() , getLastSelected()
得到被选中的对象,得到最后被选中的对象。
例如:得到选择框选中的那个对象 xxxx.selModel.getSelection();
5、get('一个form的name')
得到这个name的form中的值。
6、getForm() , getName() , getValue() , getProxy()
都是字面意思。
----------------------------------------------------------------------------------------
补充:
例如:下图是项目中的某一个页面
orderMonitor:是这个页面的主框,由form,grid,toolbar三部分组成
popups:页面的弹框
Controller:逻辑功能
Store:页面加载的数据
END-----------------------------------------------------------------------------------
“金牛,金牛,你对减肥有什么看法呀?”
“我自己挣钱辛苦吃胖的,你凭什么让我减呀!”
Extjs6(六)——增删查改之查询的更多相关文章
- ASP.NET使用EasyUI-DataGrid + ashx + JQuery Ajax:实现数据的增删查改,查询和分页!
转自:http://www.cnblogs.com/lt-style/p/3457399.html 数据表: 学生表:学生编号.姓名.性别.班级编号.年龄 班级表:班级编号.班级名称 开发过程: 1. ...
- SSH框架的多表查询和增删查改 (方法一)上
原创作品,允许转载,转载时请务必标明作者信息和声明本文章==> http://www.cnblogs.com/zhu520/p/7772823.html 因为最近在做Android 练习的 ...
- SSH框架的多表查询和增删查改 (方法一)中
原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>http://www.cnblogs.com/zhu520/p/7774144.html 这边文章是接的刚刚前一遍的基础上敲的 ...
- SSH框架的多表查询(方法二)增删查改
必须声明本文章==>http://www.cnblogs.com/zhu520/p/7773133.html 一:在前一个方法(http://www.cnblogs.com/zhu520/p ...
- JavaWeb实现增删查改(图书信息管理)——之查询
关于此次CRUD所需要的jar包,本人把文件放在了百度网盘,需要的自行去下载: 链接:https://pan.baidu.com/s/1Pqe88u6aPaeVjjOq1YFQ-w 提取码:pim ...
- Sql Server的艺术(一) 视图的增删查改
视图是从一个或者多个表中查询数据的另一种方式.利用视图可以集中.简化定制数据库,同时还能保障安全. 视图其结构和数据是建立在对应的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但 ...
- JDBC终章- 使用 DBUtils实现增删查改- C3P0Utils数据源/QueryRunner runner连接数据源并执行sql
JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` ) NOT NULL AUTO_INCREMENT, ...
- json字符串转换成json增删查改节点
一.功能实现 1.节点树查询: 按ID查询树 2.节点新增: http://host/tree_data/node/${treeId} in: {node: {key: ..., ...}, pare ...
- 4.在MVC中使用仓储模式进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...
随机推荐
- web.xml 加载顺序
参考网址: 上下文对象>监听>过滤器>servlet 1.先加载上下文对象 <!-- 初始化Spring classpath*:spring/applicationContex ...
- iOS--多线程之线程间通讯
线程间通讯 一.NSThread 1.简单说明 ①线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 ②线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特 ...
- js获取select选中的标签option的值
js中获取方法 var obj = document.getElementByIdx_xx_x(”testSelect”); //定位id var index = obj.selectedInde ...
- Sql Server中清空所有数据表中的记录
Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 代码如下:exec sp_msforeachtable @Command1 ='truncate table ?'删除所有数据 ...
- 护卫神·云查杀系统V4.0-安全检测部分
感谢使用护卫神·云查杀系统,该软件专门查杀网页木马,完全免费,欢迎大家使用. 护卫神·云查杀系统 下载地址:http://down.huweishen.com/free/HwsKill.zip ...
- 【译】x86程序员手册37-第10章 初始化
Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...
- PHP网络协议相关考点
HTTP状态码 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. HTTP状态码主要有5种,代表5种不同类型的响应: 1xx:信息性状态码,代表接 ...
- parsley.js正确使用姿势
1.第一式 当然要先引用:parsley.js 2.第二式 页面中定义需要使用自定义校验,注意红色的地方,必须要使用小写,重要的问题说三遍,小写,小写 <form class="for ...
- codeforces_B. Forgery
http://codeforces.com/contest/1059/problem/B 题意: For simplicity, the signature is represented as an ...
- Python3.0 操作MySQL数据库执行SQL语句
py3不支持MySQLdb,需要导入pymysql模块 # coding: utf-8 # Team : Quality Management Center # Author:Carson # Dat ...