在做一个模块的时候,用到了下拉列表,但是下拉列表中的数据太多,一次性如果全部加载的话,肯定是不现实或者不可续的方法,所以此时需要对下拉列表中的数据进行分页展示。我们用到了Ext.form.ComboBox对象。觉得这个东东挺不错,值得写出来总结下,方便以后用到。
1、定义对象
var SelectedUser = Ext.data.Record.create([{
name : 'userId',
type : 'int'
}, {
name : 'userWorkNum',
type : 'string'
}, {
name : 'userName',
type : 'string'
}]);
2、定义数据模式,封装数据
var reader = new Ext.data.JsonReader({
totalProperty : 'totalProperty',
root : 'root'
}, [{
name : 'userId',
type : 'int'
}, {
name : 'userWorkNum',
type : 'string'
}, {
name : 'userName',
type : 'string'
}]);
var ds = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : 'queryGroupCustList.action'
}),
reader : reader
});
ds.baseParams.limit = 10;
3、具体combobox代码
var queryUserCombo = new Ext.form.ComboBox({
mode : 'remote',// 指定数据加载方式,如果直接从客户端加载则为local,如果从服务器断加载
// 则为remote.默认值为:remote
border : true,
frame : true,
pageSize : 10,// 当元素加载的时候,如果返回的数据为多页,则会在下拉列表框下面显示一个分页工具栏,该属性指定每页的大小
// 在点击分页导航按钮时,将会作为start及limit参数传递给服务端,默认值为0,只有在mode='remote'的时候才能够使用
width : 250,
emptyText : '可输入姓名或工号查询,支持模糊查询',
title : '显示格式:姓名(工号)(负责客户数)',
triggerAction : 'all',
displayField : 'displayUserInfo',
valueField : 'userId',
queryDelay : 600,
typeAhead : true,
editable : true,
store : ds,
selectOnFocus : true,
listeners : {
'select' : function(combo, record, index) {
panel.selectedUser = new SelectedUser(record.data);
},
'beforequery' : function(queryEvent) {
var key = queryEvent.query;
key = key.trim();
ds.baseParams.managerType = panel.managerType;
if (Ext.isEmpty(key)) {
ds.baseParams.query = '';
} else {
var keys = key.split(" ");
if (keys.length == 1) {
if (keys[0] != '*') {
ds.baseParams.query = keys[0];
}
} else {
}
}
ds.load({
params : {
start : 0,
limit : 10
}
});
}
}
});
其中'beforequery' 事件支持用户手动输入动态提示数据功能。
分享到:
相关推荐
"带分页功能的下拉列表combogrid"是一个特定的组件,它结合了下拉列表(dropdown)和数据网格(grid)的功能,同时引入了分页机制,以提供更好的用户体验。这个组件通常用于在大量数据中进行高效检索和选择。 分页...
combo-select是一款带分页的多功能下拉选择框jquery插件。它基于jQuery、Bootstrap2(Bootstrap3未支持)开发,可以完成下拉列表,自动补全,分页,多选,键盘操作等功能。
这是一款可以完成下拉列表,自动补全,分页,多选,键盘操作等功能的jQuery带分页的下拉菜单选择框代码插件。 引入js文件 [removed][removed] [removed][removed] [removed][removed] [removed][removed]
而“DataGrid里嵌套下拉列表”是一种增强交互性的设计,允许用户在一个单元格内选择一个下拉列表,这个下拉列表的选择会影响当前`DataGrid`行的其他数据。这种设计常见于数据关联性较强的应用场景,例如,一个产品...
vue-select 多选下拉列表,建议用火狐或者谷歌浏览器打开,低版本IE对vue兼容性不好
- 对于大数据量的下拉列表,可以使用延迟加载(`lazyRender`)或分页策略(`pageSize`)来提高性能。 综上所述,ExtJS6的下拉列表(ComboBox)和GridCombo扩展控件提供了强大的功能和灵活性,它们可以用于创建丰富...
"多选下拉列表"和"复选下拉列表"是常见的组件,用于提供用户在一组选项中进行多个选择的功能。这些组件通常用于数据筛选、配置设置或信息录入等场景。本主题将深入探讨基于jQuery的多选下拉列表插件及其应用。 1. *...
通过以上讲解,我们可以了解到,"Ext扩展控件-------可以通过下拉列表框选择每页的分页条数"是一个增强EXT Grid分页功能的实用工具,它提升了用户体验,让数据展示更加灵活,同时也对开发者提出了更高的定制化要求。...
级联下拉列表是一种常见的前端交互设计,用户在一个下拉列表中做出选择后,第二个或更多的下拉列表会根据前一个选择动态地加载相关数据。这通常用于处理有层级关系的数据,如国家-城市-区县的选择,或者类别-子类别-...
在网页设计和开发中,下拉列表控件(Dropdown List)是常见的用户界面元素,用于提供用户选择一组预定义选项的交互方式。本项目聚焦于动态加载下拉列表,特别是针对省市选择的功能,通过C#编程语言和数据库技术实现...
在网页开发中,"js多选下拉列表"是一种常见的用户界面元素,它允许用户从一个下拉菜单中选择多个选项。多选下拉列表在数据筛选、设置配置或者进行多值选择时非常实用。本篇文章将深入探讨这一主题,包括复选下拉列表...
为了美化这个下拉列表,通常会用一个自定义的HTML结构来覆盖原生的`<select>`元素,比如使用一个按钮或一个带有标题的容器来触发下拉列表的显示。 2. **CSS样式**: `css`文件用于定义下拉列表的外观。你可以设置...
当用户在输入框中输入字符时,插件会根据已有的数据集筛选出匹配的选项,并动态地展示出来,这样用户无需滚动长长的下拉列表就能找到想要的选项。 多选功能则让使用者可以同时选择多个选项,这对于需要进行复选操作...
在IT领域,数据库三级联动下拉列表是一种常见的交互设计,常用于网站或应用程序中,以提供用户更加便捷的导航和信息筛选。这种设计通常应用于有层次结构的数据,例如省份-城市-区县,或者类别-子类别-产品等。在这个...
在网页设计中,下拉列表(Dropdown List)是一种常见的用户界面元素,通常用于提供一组预设选项供用户选择。在HTML中,`<select>`标签是创建下拉列表的标准方式。然而,原生的HTML `select`标签有一些限制,比如缺乏...
综上所述,"带搜索功能的下拉列表框"是通过`select2.js`实现的一种高效、易用的UI组件。它不仅提供了基本的下拉选择功能,还结合了实时搜索和自定义配置,适用于各种Web应用程序,尤其适用于需要处理大量数据或提供...
在网页设计中,下拉列表(Select)是常见的交互元素,用于提供一组预设选项供用户选择。然而,原生的HTML `<select>` 标签存在一定的局限性,例如不支持用户输入自定义值。为了解决这个问题,开发者通常会采用自定义...
"VB增强型下拉列表框.7z"是一个压缩包,包含了一个特别设计的下拉列表框控件,它扩展了标准VB下拉列表框的功能,尤其适合在与数据库交互时使用。这个控件可能包含了更丰富的特性,比如动态加载数据、搜索功能、分页...
动态加载下拉列表框的核心实现原理是分页和异步加载。当用户滚动到下拉框的底部或者输入特定字符触发搜索时,后台会通过Ajax请求获取更多的数据并添加到当前的选项列表中。这种方式通常与无限滚动或懒加载概念相结合...