• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > combogrid实现分页、动态搜索、过滤手动输入

combogrid实现分页、动态搜索、过滤手动输入

作者:freshwind_li 字体:[增加 减小] 来源:互联网 时间:2017-09-27

freshwind_li通过本文主要向大家介绍了easyUI,combogrid等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本篇文章主要记录了combogrid实现分页、动态搜索以及过滤手动输入的实现过程。

(1)关于动态搜索,如果检索关键词为中文,检索过程中出现乱码,可在后台对关键词进行重新编码

 

if(null!=dataTypeCode) {
			dataTypeCode=new String((dataTypeCode).getBytes("iso-8859-1"),"utf-8");
		}

 

 

 

 

 

(2)关于过滤手动输入内容,只有当输入的内容是数据中不存在的项目时才会被过滤掉。


 

以下js片段是我封装的函数:

 

	function createComboBox(ele){
		var selected;    //当前选择项
		$('.customDataTypeCode:last').combogrid({
	        panelWidth: 350,  
	        fitColumns: true,  
	        striped: true,              //是否各行变色
	        editable: true,  
	        pagination: true,           //是否分页  
	        rownumbers: true,           //是否显示行号
	        collapsible: false,         //是否可折叠的  
	        fit: true,                  //自动大小  
	        method: 'get',
			idField : 'dataTypeCode',
			textField : 'dataTypeCode',
			url : '/ops/dataTypeConfig/findByDataTypeCode2',
			columns : [ [ {
				field : 'dataTypeCode',
				title : '数据类型',
				width : 50
			}, {
				field : 'remark',
				title : '备注',
				width : 50
			} ] ],
			onChange: function () {
                selected = ele.combogrid('grid').datagrid('getSelected');
            },
            onSelect: function () {
            	selected = ele.combogrid('grid').datagrid('getSelected');
            },
            onHidePanel: function () {
                var editText = $(this).combogrid('getValue');
                if (selected == null || selected.dataTypeCode != editText) {//没有选择或者选项不相等时清除内容
                    $(this).combogrid('setValue', '');
                }
                artChanged = false;
                selectRow = null;
            },
	        keyHandler: { 
	        	up: function () {               //【向上键】押下处理  
	                //取得选中行  
	                var selected = ele.combogrid('grid').datagrid('getSelected');
	                if (selected) {  
	                    //取得选中行的rowIndex  
	                    var index = ele.combogrid('grid').datagrid('getRowIndex', selected);  
	                    //向上移动到第一行为止  
	                    if (index > 0) {  
	                        ele.combogrid('grid').datagrid('selectRow', index - 1);  
	                    }  
	                } else {  
	                    var rows = ele.combogrid('grid').datagrid('getRows');  
	                    ele.combogrid('grid').datagrid('selectRow', rows.length - 1);  
	                }  
	            },  
	            down: function () {             //【向下键】押下处理  
	                //取得选中行  
	                selected = ele.combogrid('grid').datagrid('getSelected');  
	                if (selected) {  
	                    //取得选中行的rowIndex  
	                    var index = ele.combogrid('grid').datagrid('getRowIndex', selected);  
	                    //向下移动到当页最后一行为止  
	                    if (index < ele.combogrid('grid').datagrid('getData').rows.length - 1) {  
	                        ele.combogrid('grid').datagrid('selectRow', index + 1);  
	                    }  
	                } else {  
	                    ele.combogrid('grid').datagrid('selectRow', 0);  
	                }  
	            },  
	            enter: function () {             //【回车键】押下处理  
	            	//取得选中行  
	                selected = ele.combogrid('grid').datagrid('getSelected');  
	                if (!selected) {  
	                	ele.combogrid('grid').datagrid('selectRow', 0);
	                }
	                //选中后让下拉表格消失  
	                ele.combogrid('hidePanel');  
	            },  
	            query: function (keyword) {     //【动态搜索】处理    
	            	//动态搜索  
                    ele.combogrid("grid").datagrid("reload", { 'keyword': keyword });  
                    ele.combogrid("setValue", keyword);  
                    //设置查询参数  
                    var queryParams = ele.combogrid("grid").datagrid('options').queryParams;  
                    queryParams.dataTypeCode = keyword;  
                    ele.combogrid("grid").datagrid('options').queryParams = queryParams;  
                    //重新加载  
                    ele.combogrid("grid").datagrid("reload");         
                    ele.combogrid("setValue", keyword);  
	            }  
	        }
		});
		 //取得分页组件对象  
	    var pager = ele.combogrid('grid').datagrid('getPager');  	  
	    if (pager) {  
	        $(pager).pagination({  
	            pageSize: 10,               //每页显示的记录条数,默认为10  
	            beforePageText: '第',       //页数文本框前显示的汉字  
	            afterPageText: '页    共 {pages} 页',  
	            displayMsg: '第{from}-{to}条 共 {total} 条' 
	        });  
	    }
	}

分页和动态搜索参考了下面这位博友的文章:

 

分页、动态搜索

过滤手动输入参考了这篇文章:

过滤手动输入

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • jQuery Easyui Treegrid实现显示checkbox功能
  • jQuery EasyUI的TreeGrid查询功能实现方法
  • EasyUI的TreeGrid的过滤功能的解决思路
  • Easyui和zTree两种方式分别实现树形下拉框
  • easyui-datagrid开发实践(总结)
  • 简述jQuery Easyui一些用法
  • jquery easyui如何实现格式化列
  • Easyui使用Dialog行内按钮布局的实例
  • easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
  • easyui简介_动力节点Java学院整理

相关文章

  • 2017-08-16解析Jquery的LigerUI如何实现文件上传
  • 2017-08-16jquery PrintArea 实现票据的套打功能(代码)
  • 2017-08-16jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
  • 2017-08-16jQuery EasyUI 中文API Button使用实例
  • 2017-08-16js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
  • 2017-08-16页面刷新时记住滚动条的位置jquery代码
  • 2017-08-16jQuery与getJson结合的用法实例
  • 2017-08-16jQuery实现指定区域外单击关闭指定层的方法【经典】
  • 2017-08-16基于jquery可配置循环左右滚动例子
  • 2017-08-16JQuery选中checkbox方法代码实例(全选、反选、全不选)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • JQUERY的AJAX请求缓存里的数据问题处理
    • jQuery实现的手风琴侧边菜单效果
    • JQuery对id中含有特殊字符的转义处理示例
    • 使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
    • juqery 学习之四 筛选查找
    • jQuery用户头像裁剪插件cropbox.js使用详解
    • jQuery中before()方法用法实例
    • 文本框只能选择数据到文本框禁止手动输入
    • jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
    • jQuery提交多个表单的小技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有