• 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 字体:[增加 减小] 来源:互联网

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学院整理

相关文章

  • 利用jq让你的div居中的好方法分享
  • jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
  • jQuery中对节点进行操作的相关介绍
  • JQuery在光标位置插入内容的实现代码
  • jQuery实现hover合成事件的方法
  • jQuery实现对象转为url参数的方法
  • cookie.js 加载顺序问题怎么才有效
  • jQuery AJAX 调用WebService实现代码
  • jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
  • jquery select操作的日期联动实现代码

文章分类

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

最近更新的内容

    • jQuery获取对象简单实现方法小结
    • 一个背景云变换js特效 鼠标移动背景云变化
    • JQuery 学习笔记 element属性控制
    • jQuery.datatables.js插件用法及api实例详解
    • jQuery实现平滑滚动的标签分栏切换效果
    • jQuery实现加入购物车飞入动画效果
    • jquery实现tab键进行选择后enter键触发click行为
    • JQuery实现动态表格点击按钮表格增加一行
    • 浅谈jQuery绑定事件会叠加的解决方法和心得总结
    • jQuery Validation插件remote验证方式的Bug解决

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

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