Extjs 4.2使用心得 --- combobox组合框和paging 分页工具使用技巧

  这两个功能经常会一并使用到,一般在生成combo组合框时,设置pageSize大于0,在下拉列表的页脚位置会自动创建一个分页工具栏,前提是queryMode:‘remote‘ 读取远程数据时。

  先来建立一个Model:

Ext.define(‘Post‘, {
        extend: "Ext.data.Model",
        proxy: {
            type: ‘ajax‘,
            url: ‘/admin/organizations/ExtCombox/‘,
            reader: {
                type: ‘json‘,
                root: ‘orgs‘,
                totalProperty: ‘total‘
            }
        },
        fields: [
            {name: ‘id‘, mapping: ‘id‘},
            {name: ‘name‘, mapping: ‘name‘}
        ]
    });

  然后是store和combox

    var ds = Ext.create(‘Ext.data.Store‘, {
        pageSize: 10,  //limit参数,每页显示条数,默认为25
        autoLoad:false,
        model: ‘Post‘
    });

    var combox = Ext.create(‘Ext.panel.Panel‘, {
        width: 320,
        bodyPadding: 1,
        layout: ‘anchor‘,
        items: [
            {
                xtype: ‘combo‘,
                store: ds,
                displayField: ‘name‘,
                minChars: 4,  //最小字符数
                typeAhead: false,
                hideLabel: true,
                hideTrigger: true,
                anchor: ‘100%‘,
                multiSelect: false,
                queryDelay: 1000,
                queryMode: ‘remote‘,  //读取远程数据 读本地数据为 local
                queryParam: ‘sSearch‘,  //查询参数,默认为 query
                listConfig: {
                    loadingText: ‘查找中.‘,
                    emptyText: ‘没有符合的数据‘
                    // minHeight,maxHeight,minWidth,maxWidth:100 下拉框最小,最大高度和宽度设置
                },
                pageSize: 10  //下拉列表框的分页大小,大于0则自动创建分页栏
            },
            {
                xtype: ‘component‘,
                style: ‘margin-top:10px‘,
                html: ‘最少输入4位字符‘
            }
        ]
    });

然后有容器就在容器里引用,没容器就renderTo: Ext.getBody(),效果如图所示:,

输入查询参数的得到结果

查看浏览器控制台可以看到发送的参数:

_dc=1406791364718      缓存序列号,自动生成,不用管
limit=10         每页显示条数
page=1          当前页数
sSearch=北京      查询参数
start=0         本次查询起始序号

还有返回的结果:

{"orgs": [{"id": 9110, "name": "\u5317\u4eac\u5510\u62c9\u96c5\u79c0\u9152\u5e97\u66a8\u5317\u4eac\u71d5\u4eac\u996d\u5e97\u6709\u9650\u8d23\u4efb\u516c\u53f8"}, {"id": 669, "name": "\u5317\u4eac\u79d1\u822a\u6295\u8d44\u6709\u9650\u516c\u53f8"}, {"id": 11464, "name": "\u6d77\u822a\u4e91\u7aef\u4f20\u5a92\uff08\u5317\u4eac\uff09\u6709\u9650\u516c\u53f8"}, {"id": 15, "name": "\u5317\u4eac\u884c\u653f\u4e2d\u5fc3"}, {"id": 567, "name": "\u5317\u4eac\u822a\u7ad9\u63a7\u5236\u4e2d\u5fc3"}, {"id": 405, "name": "\u5317\u4eac\u5b89\u5168\u529e\u516c\u5ba4"}, {"id": 358, "name": "\u5317\u4eac\u8425\u4e1a\u90e8"}, {"id": 6509, "name": "\u5317\u4eac\u65b0\u534e\u7a7a\u6e2f\u822a\u7a7a\u98df\u54c1\u6709\u9650\u516c\u53f8"}, {"id": 587, "name": "\u5317\u4eac\u8425\u8fd0\u57fa\u5730"}, {"id": 8912, "name": "\u5317\u4eac\u9996\u90fd\u822a\u7a7a\u6709\u9650\u516c\u53f8"}], "total": 141}

  返回的中文被转码了,╮(╯▽╰)╭,反正只需要看文件结构就行了,有根节点‘orgs‘和数据总数‘total‘,这里的两个参数名称需要和Model.proxy.reader里设置的‘root‘和‘totalProperty‘一样,若root不一样则解读不了数据,若totalProperty不一样则分页显示会错误。

  就是这样了,总之在使用Extjs时,参数的设置非常重要,只要参数设置正确,Extjs将会完成后面的工作,参数有误就慢慢调到合适的格式吧。

Extjs 4.2使用心得 --- combobox组合框和paging 分页工具使用技巧

时间: 2024-10-12 12:46:57

Extjs 4.2使用心得 --- combobox组合框和paging 分页工具使用技巧的相关文章

ExtJs之Ext.form.field.ComboBox组合框

<!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" type="text/css" href="ExtJs/

EasyUI Combobox组合框(模糊搜索、默认值绑定)

EasyUI Combobox组合框是个比较好用的前端组件,例如它支持本地搜索和远程搜索,这样就可以免去自己写模糊查询.基本使用方式如下: <input id="cc" name="dept" value="aa"> $('#cc').combobox({ url:'JsonData.ashx', valueField:'id', //表单值 textField:'text', //表单文本 mode:'local', //本地搜索

表单(上)EasyUI Form 表单、EasyUI Validatebox 验证框、EasyUI Combobox 组合框、EasyUI Combo 组合、EasyUI Combotree 组合树

EasyUI Form 表单 通过 $.fn.form.defaults 重写默认的 defaults. 表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交.加载.清除,等等.当提交表单时,调用 'validate' 方法来检查表单是否有效. 用法 创建一个简单的 HTML 表单.构建表单并给 id.action.method 赋值. <form id="ff" method="post"> <div> <lab

通过编写串口助手工具学习MFC过程&mdash;&mdash;(四)添加ComboBox组合框

通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个串口助手再次熟悉一下MFC,并做了一下记录,以便方便以后查阅.做的过程中多是遇到问题直接百度和谷歌搜索来的,所以很多都是不求甚解,知其然不知其所以然.另外做此工具只是为了熟悉了解,许多功能还没有完善!(开发工具VS2008) (四)添加ComboBox组合框 ComboBox组合框有编辑框和下拉列表

Ext.form.field.ComboBox组合框

1.Ext.form.field.ComboBox主要配置 Ext.form.field.ComboBox主要配置项 配置项 类型 说明 allQuery String 发往服务器用来查询全部信息的查询字符串,默认为空 autoSelect Boolean 是否自动选择第一个列表值,默认为true defaultListConfig Object listConfig配置对象包括: emptyText:当输入值在列表中不存在时显示的信息,默认为空文本 loadingText:默认加载提示load

jQuery EasyUI 表单插件 - Combobox 组合框

扩展自 $.fn.combo.defaults.通过 $.fn.combobox.defaults 重写默认的 defaults. 组合框(combobox)显示一个可编辑的文本框和下拉列表,用户可以从下拉列表中选择一个或多个值.用户可以直接输入文本到列表的顶部,或者从列表中选择一个或多个现成的值. 依赖 combo 用法 从带有预定义结构的 <select> 元素创建组合框(combobox). <select id="cc" class="easyui-

EasyUI Combobox 组合框

默认选择第一项,加请选择,取值问题 <input class="easyui-combobox" id="ddlWHS" name="ddlWHS" /> //combox默认选择第一个 $(function () { $('#ddlWHS').combobox({ url: "../../HR/attType/list_attType.ashx?type=Bindddl", valueField: 'Workin

VC/MFC 工具栏上动态添加组合框等控件的方法

引言 工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具.通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发环境所创建的应用程序框架中的工具条只是一个简单的按钮的集合,在功能上也仅仅是起到了菜单快捷方式的作用,而没有做到象VC.Word等软件的工具条那样,提供多种不同类型的标准控件如组合框.编辑框等.尤其是组合框在添加到工具条上后,可将原本需要在弹出对话框中完成的交互操作在工具条上就可以进行,从而在很大程

进阶教程(9)- 添加组合框combobox

combobox是krpano一个非常常见的组件,它是我们在网页常见的组合框,你可以利用组合框来实现场景导航或者功能分类.缩略图分组等功能.在官网案例有一个自动添加所有场景到一个combobox的案例,不过这个案例没有和cofu skin结合,本次课程我们就是把combobox和默认漫游ui结合. 首先,combobox的位置是examples/virtual-tours/scenes-with-combobox/ 在线预览地址(手机可看,为HTML5样式)是 http://www.krpano