近来项目需求,在新增或查询的时候有一个标签对象需要使用下拉菜单,但是数据可多可少的.少了的时候看起来还不错,紧凑一点.但是一旦躲起来看着就那么别扭了.人说百度不可靠,我发现这话真没错,想着做个分页来解决这玩意儿,没想到百度出来的结果催人泪下啊.好多不负责任的博主什么的直接复制粘贴给链接就结束了,弄得我一愣一愣的.靠天靠地不如靠自己这真是老祖宗的至理名言.为了方便以后检阅自己的成果,记录一下.

  先是JS内  var shop_store=new Ext.data.Store();

 1     shop_store=new Ext.data.Store({//新建数据源
 2         reader : new Ext.data.JsonReader({
 3                     totalProperty : "totalCount",
 4                     root : 'result'
 5                 }, Ext.data.Record.create([{
 6                             name : 'id'
 7                         }, {
 8                             name : 'text'
 9                         }])),
10         proxy : new Ext.data.HttpProxy({
11                 url : Ext.getDom('root').value + '/helper/helper!shopCombox.do'//数据查询地址
12                         })
13     });

  新建数据源,获取相应后台查询数据.大小由后台组装完成

  这是Java后台查询部分,怎么查就不详述了.就记着怎么分就好了

 1   public void shopCombox() throws Exception {
 2         List<ShopInfo> list = dataCacheUtil.getShopList();//调用DataCacheUtil模版方法查询所有数据
 3
 4         if (list.size()==0) {//防止空值异常
 5             printJson("{\"result\":[],\"totalCount\":0}" );
 6             return;
 7         }
 8
 9         int start = Integer.parseInt(this.getRequest().getParameter("start")); //开始数
10         int limit = Integer.parseInt(this.getRequest().getParameter("limit")); //间隔数
11
12         PrintWriter out = this.getResponse().getWriter();
13         int totalcount = list.size();
14
15         int end=start+limit;//防止尾页越界
16         if (list.size()<end) {
17             end=list.size();
18         }
19
20         List<ShopStore> li=new ArrayList<ShopStore>();
21         ShopStore s=null;
22
23         for (int i = start; i < end; i++) {
24             s=new ShopStore();
25             s.setId(list.get(i).getId());
26             s.setText(list.get(i).getShopname());
27             li.add(s);
28         }
29
30         JSONArray jsonObject = JSONArray.fromObject(li);
31         JSONObject reqObject = new JSONObject();
32         reqObject.element("result", jsonObject);
33         int totalPageCount = (int) Math.ceil((double) totalcount / 10);
34         reqObject.element("totalPageCount", totalPageCount);
35         reqObject.element("countPerPage", this.getRequest().getParameter("limit"));
36         reqObject.element("totalCount", totalcount);// pages为总页数。
37         out.print(reqObject.toString());
38
39     }

  就像普通分页一样,其实ExtJs在这方面做的很不赖.每次调用方法就查询start 到 start+limit的数据.然后返回给前台展示在下拉框里.

  

 1     xtype : 'combo',
 2     fieldLabel : '店铺名称',
 3     valueField : 'id',
 4     displayField : 'text',
 5     hiddenName : 'shopid',
 6     name : 'shopid',
 7     store : shop_store,
 8     //上面都是老生常谈的玩意儿
 9     mode:'remote',  //local是本地数据源  分页要跟后台交互所以用remote
10     triggerAction:'all', //这个是做匹配用的 问题不大
11     pageSize:10,  //分页量
12     readOnly:true,  //我版本3.1.1 这个属性貌似没用,但是放在这里不影响啊
13     listWidth:200  //下拉列表的宽度   跟本来combobox的宽度没关系

  妥妥完美分页啊~美中不足的是我忽然想到,要是有十万个待选数据...- -# 还是奉劝客户用手动输入的吧.

  叶落星辰  W

转载于:https://www.cnblogs.com/may26/p/4224003.html

ExtJs_关于combobox的那些分页二三事相关推荐

  1. cocos2d Labels and Fonts 标签和字体(附:关于Hiero的二三事)

    Labels and Fonts 标签和字体 Introduction 介绍 cocos2d 支持 TTF (True Type Fonts) 标签和纹理 atlas 标签. Pros and Con ...

  2. 缓存架构设计细节二三事

    缓存架构设计细节二三事 原创 2016-03-08 58沈剑 架构师之路 本文主要讨论这么几个问题: (1)"缓存与数据库"需求缘起 (2)"淘汰缓存"还是&q ...

  3. python输入y继续运行_Python二三事 - 接触Python(x,y)

    注释:本文原来转自博客大巴的一篇文章,向原作者致谢!我也做了相应的修改,更加完善对于Pythonx,y的介绍 Python 二三事 面向初学者介绍Python相关的一些工具,以及可能遇到的常见问题. ...

  4. WinForm二三事(一)消息循环

    在进入正文之前,想请大家先欣赏下面两段代码: 1: //这是一个控制台程序,请先添加System.Windows.Form.dll的引用 2: using System.Windows.Form; 3 ...

  5. 【见闻录系列】我所理解的搜索业务二三事

    [见闻录系列]我所理解的搜索业务二三事 FexianXu 20220730 at Baidu Search Team 前言 之前笔者在博文[1]中谈到了在工作一年的过程中,笔者对"业务&qu ...

  6. dva处理_关于dva框架的二三事

    关于dva框架的二三事 发布时间:2018-06-24 15:31, 浏览次数:618 , 标签: dva 前言 我开通了一个微信公共号"王和阳的航海日志",在上面记录着自己的学习 ...

  7. 计算机的二三事——软件篇

    计算机的二三事--软件篇 写在前面 第一部分 操作系统 1.1 操作系统(OS) Windows MacOS Linux 1.2 操作系统的架构(x86(32位)/x64(64位)/arm(64位)) ...

  8. 单身程序员上班路上二三事(一)

    单身程序员上班路上二三事(一) 公交车上,前面和中间那部分在早高峰总是人满为患的.我挤到最后一排靠窗座的邻座,这是我最爱的位置. 下一站,上来一个身材高挑,头发乌黑笔直的Female,虽戴着口罩,但眉 ...

  9. 红蓝对抗场景下的二三事

    背景 未知攻焉知防,警察想要抓小偷,就该先摸透小偷的想法,才能更快捷的抓到小偷毕竟小偷抓小偷更容易.网络安全的攻与防,好比"矛"与"盾",要想不被"矛 ...

最新文章

  1. java guava json文件_Json解析文件位置的问题
  2. Oracle RAC 11g R2(11.2.0.4)部署文档
  3. Android7.1+查看audio policy使用.conf/.xml(二十七)
  4. 命令行BASH的基本操作
  5. 办公室常用计算机常识,这10个办公必备的电脑小技巧,让你事半功倍
  6. VSCode下载安装最新详细教程2022(win10)
  7. SPSS基本数据处理(二)
  8. QCC3007-button篇 使用ADK Configuration Tool配置按键
  9. 詹姆斯•高斯林/关于Java的故事
  10. SSM搭建-Spring之bean的属性值XML注入方式(4)
  11. 微信摇一摇周边新功能上线
  12. 又找到一款微信机器人!(附源码)
  13. VMware+Ubuntu安装使用说明
  14. 走进计算机病毒-受限文件夹的建立
  15. 2021-03-26
  16. 图片基本处理(imageView2)
  17. python升级到3.7版本安装pyaudio
  18. Linux命令行技巧——使用目录栈进行导航
  19. ZigBee2节干电池工作半年分析估算
  20. 河北省 河南省 安徽省 黑龙江省 辽宁省 吉林省 贵州省 陕西省 山东省 云南省 广西省二级建造师 一级建造师...

热门文章

  1. python设计模式(九):外观模式
  2. 2018CTF大赛学习
  3. django项目用 setuptools打包构建(待更新)
  4. Centos6.4建立本地yum源
  5. 让Maven项目使用Nexus作为远程仓库的settings.xml配置
  6. Windows phone 7更新已经支持复制/粘贴[有图有真相]
  7. 【Mac visual studio community使用技巧】打开vs如何查看解决方案等
  8. TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗
  9. CrackMe-CrackHead
  10. 102TimeStatistic