本文主要实现的效果是:点击查询按钮,根据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() {  //遍历formvar 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');  //取得gridOrganizationListStore = organizationGrid.store; //取得storeOrganizationListStore.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-----------------------------------------------------------------------------------

“金牛,金牛,你对减肥有什么看法呀?”

“我自己挣钱辛苦吃胖的,你凭什么让我减呀!”

转载于:https://www.cnblogs.com/MaiJiangDou/p/6565922.html

Extjs6(六)——增删查改之查询相关推荐

  1. 使用Ajax实现简单的增删查改前端Ajax传的值,后端如何获取

    实现查询和增删改 一.Ajax最基本语法 二.增删查改 1.查询(Get请求) 2.增删改(Post请求) 三.后台(MVC/WebForm) 1.MVC(Post请求) 2.WebForm(Post ...

  2. (9) ebj学习: Jpa的增删查改,CURD方法监听和命名查询

    1 整体结构 client文件存放 ejb客户端的一些jar包 Animal.java 中配置命名查询 Person.java 中实现了方法监听和类监听两种监听方式( 在增删查改方法执行之前后之后调用 ...

  3. java调用js查询mongo_MongoDB增删查改操作示例【基于JavaScript Shell】

    本文实例讲述了MongoDB增删查改操作.分享给大家供大家参考,具体如下: MongoDB自带了一个JavaScript Shell,所以在其中使用js语法是可以的. Insert操作: 单条插入 v ...

  4. mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改

    ## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...

  5. 数据库的增删查改(全部重点知识一篇整合,包括数据库查询的进阶内容)

    目录 一.新增数据 (1)单行数据全列输入 (2)指定列插入 (3)多行插入 二.简单查询数据 (1)全列查询 (2)指定列查询 (3)查询的字段是表达式 (4)去重操作distinct (5)排序操 ...

  6. 【MySQL】6.0 表的增删查改

    英语单词 Create 创建 Retrieve 读取 Update 更新 Delete 删除 duplicate 复制 updata 更新数据 replace 替换 constraint 限制 cru ...

  7. 【MySQL】数据库中表的增删查改操作详解

    文章目录 前言 SQL的通用语法 一.表的创建与表的新增 语法 数据类型的介绍 演示 二.表的删除 语法 删整张表的语法 删记录的语法 演示 三.表的查询 查询整张表 (一)全列查询 (二)指定列查询 ...

  8. Mybatis、SpringBoot入门实战(微型项目) -- Mysql增删查改、写接口、测试接口

    Mybatis入门实战(微型项目) – Mysql增删查改.写接口.测试接口 开发环境: 1.Window10 v1909 2.idea 2019 3.jdk 1.8 4.mybatis 3.5.5 ...

  9. 8天学通MongoDB——第二天 细说增删查改

    2019独角兽企业重金招聘Python工程师标准>>> 看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongod ...

最新文章

  1. LINUX系统管理员技术(Admin)-------第三天
  2. 这样配置,让你的 IDEA 好用到飞起来!
  3. redis aof日志持久化和key设计原则
  4. [Contest]2017 ACM/ICPC Asia Regional Shenyang Online(01 03 07 09 10 11待补)
  5. pg数据库表接口和数据导出
  6. Sentinel 实战应用中的小技巧
  7. Kafka开源转商业实践,助力车主无忧系统稳健 | 凌云时刻
  8. 北理计算机2017,←2017 计算机学院 2019→
  9. 各种坐标之间的转换方法汇总
  10. win10 激活 错误码 0xc004f074
  11. wps页眉怎么设置不同页码_WPS中怎么给单独一页设置页眉?
  12. 分享:淘宝客完全开源程序。
  13. 某大型软件公司售前软件工程师面试题附答案
  14. Python 第三方模块 科学计算 SciPy模块4 线性代数1
  15. 微软高性能计算新贵WHS2008
  16. 关于POI设置打印区域 动态添加打印区域问题
  17. 在windows下编译erlang内建函数(nif)的dll文件
  18. 微信小程序制作简单的商品列表页,实现价格求和
  19. 完爆阿尔法狗元,DeepMind用5000台TPU训练出新算法,1天内称霸3种棋类
  20. 残忍的世界,我们要学会要坚强。

热门文章

  1. 【Python笔记】字符串常见操作
  2. 虚拟机安装菜鸟教程(1)—CentOS6.4系统VMware安装及配置详细教程
  3. python之yield
  4. Python爬取2900条数据,深度揭秘到底哪种防脱发洗发水最受欢迎?
  5. 还被python收智商税?做大数据的朋友告诉我月薪2w的方法
  6. 企业数据分析,搞定这3个重点事半功倍!
  7. )AIR程序打包/绿化,脱离air runtimes(AIR运行环境)的方法
  8. java读mysql增量_如何复制行并在MySQL中使用自动增量字段插入同一个表?
  9. 利用Pandas库进行简单的数据规整
  10. 决策树 随机森林 xgboost_从决策树到随机森林理论篇从人话到鬼话:看不懂来找我麻烦...