ExtJs4(2)——带搜索并可多选的表

通常,我们希望点击搜索之后,只留下符合条件的Record。而ExtJs4的搜索只是将符合条件的字段用黄体字标识出来。我将源文件中的LiveSearchGridPanel.js稍作修改以符合自己的需要。

首先来展示效果:

ExtJs4里面自带一种带搜索功能的表格LiveSearchGridPanel.js,放置在其目录下example文件下。我们的目标是将其进行修改,以使表格自动过滤那些不符合搜索条件的Record。

其中可以做文章的自然是onSearch文件

修改后的onSearch函数:

/** * Finds all strings that matches thesearched value in each grid cells. * @private */ onSearch: function() { var me = this, count = 0; me.store.rejectChanges(); //每次搜索使都让上次的操作回滚 me.view.refresh(); //更新表中条目 me.statusBar.setStatus({ //这个是用来显示搜索结果数目的框,不必理会 text: me.defaultStatusText, iconCls: '' }); /* 取得搜索字符 */ me.searchValue = me.getSearchValue(); /* 记录当前索引在表格store中的位置 */ me.currentIndex = null; if (me.searchValue !== null) { me.searchRegExp = new RegExp(me.searchValue, 'g'+ (me.caseSensitive ? '' : 'i')); /* 表格中的Record数目 */ var totalCount = me.store.getTotalCount(); //遍历所有条目,找出符合条件的Record for ( idx = 0; idx < totalCount; idx ++ ) { var record =me.store.getAt( idx ); vartd = Ext.fly(me.view.getNode( idx )).down('td'), cell, matches, cellHTML; /*在这一Record中是否有需要找寻的内容,默认false */ var find = false; //遍历每条Record的每一列 while(td){ cell = td.down('.x-grid-cell-inner'); matches =cell.dom.innerHTML.match(me.tagsRe); cellHTML =cell.dom.innerHTML.replace(me.tagsRe, me.tagsProtect); cellHTML =cellHTML.replace(me.searchRegExp, function(m) {//找到目标 find= true; if (Ext.Array.indexOf(me.indexes, idx) === -1) { me.indexes.push(idx); } if (me.currentIndex === null) { me.currentIndex =idx; } return '<span class="'+ me.matchCls + '">' + m + '</span>'; }); //restore protected tags Ext.each(matches, function(match) { cellHTML =cellHTML.replace(me.tagsProtect, match); }); //update cell html cell.dom.innerHTML =cellHTML; td = td.next(); } if ( ! find ){ //如果该行没有找到需要的结果 me.store.remove(record ); //则将该行从表格中移除 totalCount--; idx--; } else { count++; } }; //results found if(me.currentIndex !== null) { me.getSelectionModel().select(me.currentIndex); me.statusBar.setStatus({ text: '共找到'+ count + '条.', iconCls: 'x-status-valid' }); } } // no results found if (me.currentIndex === null) { me.getSelectionModel().deselectAll(); } // force textfield focus me.textField.focus(); }

Extjs 4 带checkbox框的下拉多选选框 Extjs 有着丰富的组件,但是在API里面却没有直接写好的checkbox下拉框组件,这个时候对于新手来说可能有点蒙了,但是在好好看看Extjs的API后我们不难发现,我们可以通过自己设计拼装出checkbox下拉框主键(所有组件都一样的,都是在基本组件的基础上拼装而成的)。    我们通过两个组件得到我们想要的checkbox下拉框:    1. Ext.form.field.ComboBox 阅读详情

相关推荐

Extjs4带清空功能的ComboBoxTree 下拉树带模糊搜索的示例

Extjs4的例子较少,我自己碰到这个问题后花了些时间研究,现在记录下来做一个分享。有不对的希望大神指导学习,下面上代码 1.首先Html代码结构 <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"&g

qq_43058760的博客 1147

讲解Ext JS界面设计(布局,xtype,items,vbox,form,column)

关键词: xtype,items,vbox,hbox,anchor,defaults,padding,frame,ui,form,column,

生活的每一天都是新的开始,热爱生活,享受每一刻的精彩。 2243

ExtJS 下拉框多选实现指南

ExtJS是基于JavaScript的一个框架,它用于开发富交互的Web应用程序。该框架具有高度的模块化,允许开发人员创建高性能和跨浏览器的界面,通过拖放组件和丰富的数据管理功能,使得开发复杂、美观的用户界面变得简单快捷。ExtJS框架中的ComboBox组件是一个非常强大的控件,它结合了文本框和下拉列表的功能。用户可以在文本框中输入内容,而ComboBox则会根据输入提供一个过滤后的下拉列表供用户选择。在ExtJS中,ComboBox可以用于数据的检索、显示以及用户输入的管理。

weixin_26850469的博客 1309

一个简单的ExtJS搜索建议框

封装的是一个Ext4.2的组件,继承并兼容于Ext的ComboBox. 实现原理很简单,在 combo 中监听 keyup 事件即可. 搜索建议的Combo.基本上完全兼容, 使用方式与Combo下拉框一样. 需要后台程序根据keyword进行搜索建议. 源码如下: // 搜索建议框,使用时请适当修改包名 Ext.define("...

weixin_34232744的博客 307

EXTJS实现多选列表组件的完整方案与实战

在现代Web前端开发中,数据的展示与交互是用户界面设计的核心环节之一。EXTJS作为一款功能强大、组件丰富的JavaScript框架,广泛应用于企业级管理系统中,其提供的列表组件()为数据的可视化呈现提供了灵活且高效的解决方案。特别是在需要用户从大量数据中进行多项选择的场景下,EXTJS的多选列表展现出卓越的实用性。// 示例:启用多选的基本配置plugins: {ptype: 'multiselector' // 启用多选插件(示意图)

weixin_35636570的博客 808

ExtJS下拉框组件多选功能实现指南

Extjs是一个用于开发富互联网应用的JavaScript框架,提供了一整套丰富的组件库,其中Combo下拉框是日常开发中常用的表单元素。在许多场景下,用户需要从一个预定义的列表中选择多个选项。为满足这一需求,Extjs的Combo组件需要进行多选扩展。MultiCombox类是基于Extjs Combo的扩展,它允许用户在下拉列表中选择多个选项。为了构建这样一个类,我们首先要定义类的基础结构。这个类需要具备的基本属性包括:store。

weixin_35756624的博客 807

EXTJS改变自带样式的那种风格

出自:http://www.cnblogs.com/legendxian/p/3254972.html 1.还是基于EXTJS的 自己用SASS改了些样式 2.用了些bootstrap里的一些样式 3.图标用的Font Awesome字体样式   不到200字还不让发 附上整理的ExtJS-4.2.1自定义样式指南 E

zwj1030711290的优快云 1万+

用nodejs,express,ejs,mongo,extjs实现了简单了网站后台管理系统

这个系统其实是出于学习nodejs的目的而改写的系统。 原来的系统前端使用了extjs4.2.1,后端使用了PHP5.4和ZEND框架开发,后台数据库是用mongodb2.2.2。 我抽离出了原来系统中的账户管理,角色管理,菜单管理,权限管理这4个部分, 我想这4个部分,基本上所有的系统都会用到。具有一定的普遍性。所以将这4个部分用nodejs重新改写了。 该系统目前使用模块有express,ejs,connect-mongo,mongodb,express-partials,connect-flash,fibers,wind等 其实wind模块这次系统中没有使用。可以将它排除出去。我是出于学习wind的目的,才加入这个模块的。 本来准备使用wind模块,是为了实现同步的目的,由于后来改用了fibers模块之后,就没有使用它。这里说明一下 不是fibers要比wind好,而是我暂时不能理解wind,或则是说对wind的研究不够吧。 众所周知nodejs是推崇异步模式。但是这个系统是从php过来的,而php的代码是同步模式的写法,所以为了在改写的过程中 希望 1是代码改动最少 2是同步写法更加适合思维习惯。而且代码可读性高的目的,用到了fibers。 这个系统的源代码中有些js文件里保留了一些原来的PHP代码,这是出于代码对比的目的。 是让大家了解原来的php代码是怎么实现的,用nodejs之后是如何改写的。通过对比,大家会发现 其实通过使用fibers之后,几乎两者是一模一样的。 还有源代码中还保留了一些被注释掉的函数,有些是用到了wind,有些是用到了fibers,有些是直接异步的写法。 这些内容都是在开发过程中我不断尝试后的产物。我花了1周的时间才实现了一个递归的调用,而且还是同步的方式。 到目前为止,我还不能理解在异步模式下实现递归调用函数。比如说源代码中有个函数getMenuTree,菜单下面可能有子菜单, 子菜单的下面可能还有菜单。所以是一个递归的过程。我现在是同步的写法实现了这个函数,如果有人能够提供异步写法实现的递归函数并 emai给我,我不胜荣幸。 在使用本系统之前,必须要安装nodejs 0.10.10,mongodb2.2.2,python2.7.5至于安装的方法请googel解决。 将源代码下载之后,解压到某个目录下,比如说d:\nodejs\umav4simple目录。 进入到那个目录, a)运行以下命令 npm install express npm install ejs npm install connect-mongo npm install mongodb npm install express-partials npm install connect-flash npm install fibers npm install wind 尽管在源代码中已包含了这些模块,但是最好还是要重新运行一遍。 因为有些模块可能需要重新的编译。 比如说fibers模块,我在window下运行npm install fibers的时候编译了一个win32-ia32-v8-3.14 而在linux下重新编译了linux-ia32-v8-3.14。所以说根据操作系统的不同,可能会有一些不同。 以免造成想不到的错误。 b)打开settings.js,并且将你的mongodb的设置改写并保存。 c)运行node app.js或则node cluster.js 如果没有提示错误的话,那么就说明环境配置成功了。 d)通过以下的URL可以在mongodb中追加一些数据,不过只能运行一次。否则会重复追加数据。 浏览器上输入 http://localhost:3000/admin/index/install 做完之后, 浏览器上输入http://localhost:3000/ 就通过用户名admin 密码adminadmin进行登录,并使用这个系统了。

ExtJS 4.2 创建带复选框的树,并且有全选反选功能

var store = Ext.create(‘Ext.data.TreeStore,{//注意:store的数据后台返回时需要加 checked:false 属性;     fields:['text','id'],     root: {         id:'root',         expanded: true,         "checked": false,  

tumi 3107

Extjs4 下拉多选(Multiple Selection)

在Extjs4中,下拉多选得以支持,只需要设置Combobox的multiSelect值为true就可以了。但是有一些问题,就是下拉框选值、去除值友好性不高,必须点击下拉框中同样的项,才能选取或去除。 在官网论坛中,发现了一个插件,这个插件是扩展了Combobox多选功能,使得下拉多选更美观、好用。 更多Extjs4信息,请移步 http://www.mhzg.net

Extjs4.2带复选框下拉树组件

网上搜索了许久未找到合适的完整的基于EXt4.2版本写的复选框下拉树,最后只得自己写一个。Extjs4.2 带复选框的下拉树,解决了向下勾选子节点、向上勾选父节点,正选反选获取值等问题,勾选的节点显示displayfield值直接显示在下拉文本框中。需要引用ext-all.js和ext-all-neptune.css

ExtJS4学习笔记(八)---Grid多选/全选

上一篇文章,在Grid中加入了搜索功能(链接地址是:www.mhzg.net/a/20115/20115219110248.html),但大量数据需要删除操作的时候,总不能一条一条去删除吧,本文介绍如何在Extjs4 Grid中加入全选功能。 先来张效果图: 点击显示

nuoyan666的专栏 4308

硬件压力测试工具使用方法

B, --bind host# 绑定到主机的多个地址中的一个。当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。-c, --client host#如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。-C, --compatibility# 与低版本的Iperf使用时,可以使用兼容模式。-b, --bandwidth #[KM] UDP模式使用的带宽,单位bits/sec。

weixin_53303772的博客 8219

Extjs4---Checkbox,多选,全选

为了方便对多条数据进行修改,多选,全选功能是不可少的,本文是在我发表的Extjs4---grid添加搜索功能上进行修改的 html代码: 同Extjs4---grid添加搜索功能上的html代码 只需修改引用即可 gridCheck.js代码: //下面两行代码必须要,不然会报404错误 Ext.Loader.setConfig({enabled:true}); //我的sear

lc448986375的专栏 1万+

生存网络与mlr3proba

通过结合生存网络和mlr3proba,可以使用生存网络模型来预测个体在给定时间点发生事件的概率,并使用mlr3proba提供的工具进行模型的训练、评估和选择最佳模型。iii)基本的机器学习(ML)方法,如重新排序和调整。在本文中,我们将只讨论前五种,因为它们在文献中得到了更好的建立,并且它们具有相同的接口,这简化了调优,我们将在下面看到。我们不会为模型指定自定义架构,而是使用默认架构,如果你熟悉PyTorch,那么你可以选择创建自己的架构,如果你愿意的话,通过将其传递给模型中的custom_net参数。

weixin_46587777的博客 1364

unity游戏开发日志(一)将mmd模型导入unity,并解决材质丢失的问题

unity音乐游戏开发,导入角色模型并解决材质问题

yizhigou1的博客 1762

Extjs 分页多选的实现

Extjs 版本 6.X 单页面的多选,没有任何问题。 直接使用 Grid的配置项进行绑定即可获取: xtype: 'grid', bind: { selection: '{checkedRecords}' }, 但是如果grid采用分页处理,当我们翻...

510

KEIL MDK实战:如何用fromelf工具解析STM32的ELF文件结构(附完整命令行)

本文详细介绍了如何使用KEIL MDK中的fromelf工具解析STM32的ELF文件结构,包括内存段分析、符号表追踪和反汇编关键函数等实战技巧。通过完整的命令行示例,帮助嵌入式开发者优化内存占用、排查运行时问题,并提升STM32项目的开发效率。

weixin_42631411的博客 187

extjs获取多选框_Extjs 4 带checkbox框的下拉多选选框

Extjs 有着丰富的组件,但是在API里面却没有直接写好的checkbox下拉框组件,这个时候对于新手来说可能有点蒙了,但是在好好看看Extjs的API后我们不难发现,我们可以通过自己设计拼装出checkbox下拉框主键(所有组件都一样的,都是在基本组件的基础上拼装而成的)。我们通过两个组件得到我们想要的checkbox下拉框:1. Ext.form.field.ComboBox 下拉框组件2....

weixin_35212962的博客 788

【图像超分】论文精读:Interpreting Super-Resolution Networks with Local Attribution Maps(LAM)

论文题目:Interpreting Super-Resolution Networks with Local Attribution Maps —— 用局部归因图解释超分辨率网络CVPR 2021!必读文章!必须会的可视化手段!很多文章中都会对比LAM!图像超分辨率 (SR) 技术发展迅速,受益于深度网络的发明及其连续突破。然而,众所周知,深度学习和深度神经网络很难解释。SR网络继承了这种神秘的性质,很少有作品试图理解它们。在本文中,我们对 SR 网络进行了归因分析。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 547

站在评审的角度写国自然基金本子,搭配这5条AI提示词,帮你一键提升本子中标率

多数同仁的选题失败,不是因为你的idea不好,而是你的逻辑没有立起来,你必须让评审看到,你是怎么从问题走向方法的。请你按照“同行做到哪、瓶颈卡在哪、我该怎么破”的逻辑,将我的创新点进行重构:【粘贴你原始的创新点描述】,要求:表达需结构化、可量化、可验证,突出对比后的实质性突破。与其等着评审指出问题,等着本子被拒,不如让AI提前模拟评审,帮你从可行性、创新性、国家价值、团队能力四个维度给你打分,并指出项目的致命破绽,提示词这样设计。创新点如果写不好,本子往往也会被拒,而评审一般喜欢的创新点都是有固定结构的。

智能AI让学术科研更容易 1240

ExtJS4.2 Grid知识点五:多选行(可以点击行选中记录与只能点击多选框选中记录)...

本节主要学习ExtJS4.2 Grid多选行知识,示例图片:在线演示/示例代码 主要内容如下: 可以点击行选中记录与只能点击多选框选中记录 选中Grid中数据加载到Form 获取Grid中多行数据,生成JSON格式 1.可以点击行来选中记录,此时多选Grid只需要配置selType: 'checkboxmodel',此时有一个缺陷,当你通过多选框勾...

weixin_33811539的博客 515

FPGA 学习笔记:Vivado 工程更改FPGA 型号

FPGA 学习笔记:Vivado 工程更改FPGA 型号

坚韧与专注 1万+
上一篇: ExtJs4(1)——一些实例
下一篇: 作为程序员,你的价值在哪里
test_touch
博客等级 码龄16年 5粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值