本文主要实现的效果是:点击查询按钮,根据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(六)——增删查改之查询的更多相关文章

  1. ASP.NET使用EasyUI-DataGrid + ashx + JQuery Ajax:实现数据的增删查改,查询和分页!

    转自:http://www.cnblogs.com/lt-style/p/3457399.html 数据表: 学生表:学生编号.姓名.性别.班级编号.年龄 班级表:班级编号.班级名称 开发过程: 1. ...

  2. SSH框架的多表查询和增删查改 (方法一)上

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>  http://www.cnblogs.com/zhu520/p/7772823.html   因为最近在做Android 练习的 ...

  3. SSH框架的多表查询和增删查改 (方法一)中

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>http://www.cnblogs.com/zhu520/p/7774144.html   这边文章是接的刚刚前一遍的基础上敲的  ...

  4. SSH框架的多表查询(方法二)增删查改

     必须声明本文章==>http://www.cnblogs.com/zhu520/p/7773133.html  一:在前一个方法(http://www.cnblogs.com/zhu520/p ...

  5. JavaWeb实现增删查改(图书信息管理)——之查询

     关于此次CRUD所需要的jar包,本人把文件放在了百度网盘,需要的自行去下载: 链接:https://pan.baidu.com/s/1Pqe88u6aPaeVjjOq1YFQ-w  提取码:pim ...

  6. Sql Server的艺术(一) 视图的增删查改

    视图是从一个或者多个表中查询数据的另一种方式.利用视图可以集中.简化定制数据库,同时还能保障安全. 视图其结构和数据是建立在对应的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但 ...

  7. JDBC终章- 使用 DBUtils实现增删查改- C3P0Utils数据源/QueryRunner runner连接数据源并执行sql

    JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` ) NOT NULL AUTO_INCREMENT, ...

  8. json字符串转换成json增删查改节点

    一.功能实现 1.节点树查询: 按ID查询树 2.节点新增: http://host/tree_data/node/${treeId} in: {node: {key: ..., ...}, pare ...

  9. 4.在MVC中使用仓储模式进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...

随机推荐

  1. ASP.NET MVC数据库初始化

    public class DBInitializer:DropCreateDatabaseAlways<BookDBContext> { protected override void S ...

  2. CSS ul li a 背景图片与文字对齐

    <div class="four"> <h2>电子商务</h2> <img src="images/photo2.gif&quo ...

  3. if判断的时候明明是null却不走null的函数体?

    String phoneStr = String.valueOf(parmMap.get(phone.trim())); if(StringUtils.isBlank(phoneStr) || &qu ...

  4. [BZOJ1257][CQOI2007]余数之和sum 数学+分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1257 题目所求为$$Ans=\sum_{i=1}^nk%i$$ 将其简单变形一下$$Ans ...

  5. ES之各种运算符,for、while、do while 、switch case循环

    运算符优先级: 在所有的运算符中,括号的优先级最高,赋值符号的优先级最低. 小括号 > 计算运算符 > 比较运算符 > 逻辑运算符 > 赋值符号———————————————— ...

  6. 迅为八核cortex a53开发板android/linux/Ubuntu系统

    详情请点击了解:http://www.topeetobard.com 店铺:https://arm-board.taobao.com 核心板: 提供1G和2G内存版本,全机器焊接,杜绝手工,批量无忧. ...

  7. 使用python划分数据集

    无论是训练机器学习或是深度学习,第一步当然是先划分数据集啦,今天小白整理了一些划分数据集的方法,希望大佬们多多指教啊,嘻嘻~ 首先看一下数据集的样子,flower_data文件夹下有四个文件夹,每个文 ...

  8. vue动态加载组件

    vue动态加载组件,可以使用以下方式 <component :is="propertyname" v-for="tab in tabs"></ ...

  9. 编译压缩代码 MFCompress-src-1.01 :对‘***’未定义的引用

    提示 MFCompressD.o:在函数‘main’中:MFCompressD.c:(.text.startup+0x34a): 警告: the use of `tempnam' is dangero ...

  10. ionic提供的配色方案

    .light #ffffff .stable #f8f8f8 .positive #387ef5 .calm #11c1f3 .balanced #33cd5f .energized #ffc900 ...