jquery easyui datagrid分页也可以选中行数据必加属性idField:'id' ,操作完$('#a').datagrid('unselectAll')

2023-11-10

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP '008_datagrid.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<link rel="stylesheet" type="text/css" href="css/common.css" />
	<script type="text/javascript" src="js/jquery-easyui-1.2.6/jquery-1.7.2.min.js"></script>
	<link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.2.6/themes/default/easyui.css" />
	<link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.2.6/themes/icon.css" />
	<script type="text/javascript" src="js/jquery-easyui-1.2.6/jquery.easyui.min.js"></script>
	<script type="text/javascript" src="js/jquery-easyui-1.2.6/locale/easyui-lang-zh_CN.js"></script>
	<script type="text/javascript" src="js/commons.js"></script>
	<script type="text/javascript">
			$(function(){

					/**
					 * 	对于form表单的验证 
					 */
					//数值验证组件 
					$('#age').numberbox({
						min:0 , 
						max:150 ,
						required:true , 
						missingMessage:'年龄必填!' ,
						precision:0
					});
					
					//日期组件
					$('#birthday').datebox({
						required:true , 
						missingMessage:'生日必填!' ,
						editable:false
					});
					
					$('#salary').numberbox({
						min:1000 , 
						max:20000 ,
						required:true , 
						missingMessage:'薪水必填!' ,
						precision:2
					});
					
					//日期时间组件
					$('#startTime,#endTime').datetimebox({
						required:true , 
						missingMessage:'时间必填!' ,
						editable:false
					});
				
					
					var flag ;		//undefined 判断新增和修改方法 
					/**
					 *	初始化数据表格  
					 */
					$('#t_user').datagrid({
							idField:'id' ,		//只要创建数据表格 就必须要加 ifField
							title:'用户列表' ,
							//width:1300 ,
							fit:true ,
							height:450 ,
							url:'UserServlet?method=getList' ,
							fitColumns:true ,  
							striped: true ,					//隔行变色特性 
							//nowrap: false ,				//折行显示 为true 显示在一会 
							loadMsg: '数据正在加载,请耐心的等待...' ,
							rownumbers:true ,
							//singleSelect:true ,				//单选模式 
							//remoteSort: false ,
							//sortName: 'salary' ,
							//sortOrder: 'desc' ,
							rowStyler: function(index ,record){
								 if(record.age > 25){
									 return "background:red";
								 }
								 // console.info(index);
								 // console.info(record);
							} ,
							frozenColumns:[[				//冻结列特性 ,不要与fitColumns 特性一起使用 
								{
									field:'ck' ,
									width:50 ,
									checkbox: true
								}
							]],
							columns:[[
								{
									field:'username' ,
									title:'用户名' ,
									width:100 ,
									align:'center' ,
									styler:function(value , record){
										if(value == 'admin'){
											return 'background:blue;';
										}
									}
								},
								{
									field:'password' ,
									title:'密码' ,
									width:100 ,
									hidden: true
								},{
									field:'age' ,
									title:'年龄' ,
									width:100 ,
									sortable : true 
								},{
									field:'sex' , 
									title:'性别' ,
									width:50 ,
									formatter:function(value , record , index){
											if(value == 1){
												return '<span style=color:red; >男</span>' ;
											} else if( value == 2){
												return '<span style=color:green; >女</span>' ; 
											}
											//console.info(value);
											//console.info(record);
											//console.info(index); 
									}
								},{
									field:'birthday' ,
									title:'生日' ,
									width:100 ,
									sortable : true
								},{
									field:'startTime' , 
									title:'开始时间' , 
									width:150
								},{
									field:'endTime' , 
									title:'结束时间' ,  
									width:150
								},{
									field:'city' ,
									title:'所属城市' ,
									width:100 ,
									formatter:function(value , record , index){
										/*
										if(value==1){
											return '北京';
										} else if(value == 2){
											return '上海';
										} else if(value == 3){
											return '深圳';
										} else if(value == 4){
											return '长春';
										}
										*/
										var str = '';
										$.ajax({
											type:'post' , 
											url : 'UserServlet?method=getCityName' ,
											cache:false ,
											async: false ,		//同步请求
											data:{id:value},
											dataType:'json' ,
											success:function(result){
												str = result.name ;
											}
										});
										return str ;
									}
								},{
									field:'salary' ,
									title:'薪水' ,
									width:100
								},{
									field:'description' ,
									title:'个人描述' ,
									width:150 , 
									formatter:function(value , record , index){
										return '<span title='+value+'>'+value+'</span>';
									}
								}
							]] ,
							pagination: true , 
							pageSize: 10 ,
							pageList:[5,10,15,20,50] ,
							toolbar:[
								{
									text:'新增用户' ,
									iconCls:'icon-add' , 
									handler:function(){
										flag = 'add';
										$('#mydialog').dialog({
												title:'新增用户' 
										});
										//$('#myform').find('input[name!=sex]').val("");
										$('#myform').get(0).reset();
										//$('#myform').form('clear');
										$('#mydialog').dialog('open');
									
									}
									
								},{
									text:'修改用户' ,
									iconCls:'icon-edit' , 
									handler:function(){
										flag = 'edit';
										var arr =$('#t_user').datagrid('getSelections');
										if(arr.length != 1){
											$.messager.show({
												title:'提示信息!',
												msg:'只能选择一行记录进行修改!'
											});
										} else {
											$('#mydialog').dialog({
												title:'修改用户'
											});
											$('#mydialog').dialog('open'); //打开窗口
											$('#myform').get(0).reset();   //清空表单数据 
											$('#myform').form('load',{	   //调用load方法把所选中的数据load到表单中,非常方便
												id:arr[0].id ,
												username:arr[0].username ,
												password:arr[0].password ,
												sex:arr[0].sex ,
												age:arr[0].age ,
												birthday:arr[0].birthday ,
												city:arr[0].city ,
												salary:arr[0].salary ,
												startTime:arr[0].startTime,
												endTime:arr[0].endTime ,
												description:arr[0].description
											});
										}
									
									}
								},{
									text:'删除用户' ,
									iconCls:'icon-remove' , 
									handler:function(){
											var arr =$('#t_user').datagrid('getSelections');
											if(arr.length <=0){
												$.messager.show({
													title:'提示信息!',
													msg:'至少选择一行记录进行删除!'
												});
											} else {
												
												$.messager.confirm('提示信息' , '确认删除?' , function(r){
														if(r){
																var ids = '';
																for(var i =0 ;i<arr.length;i++){
																	ids += arr[i].id + ',' ;
																}
																ids = ids.substring(0 , ids.length-1);
																$.post('UserServlet?method=delete' , {ids:ids} , function(result){
																	//1 刷新数据表格 
																	$('#t_user').datagrid('reload');
																	//2 清空idField   
																	$('#t_user').datagrid('unselectAll');
																	//3 给提示信息 
																	$.messager.show({
																		title:'提示信息!' , 
																		msg:'操作成功!'
																	});
																});
														} else {
															return ;
														}
												});
											}
									}								
								},{
									text:'查询用户' , 
									iconCls:'icon-search' , 
									handler:function(){
											$('#lay').layout('expand' , 'north');
									}
								}	
							]
					});
					
					
					/**
					 *  提交表单方法
					 */
					$('#btn1').click(function(){
							if($('#myform').form('validate')){
								$.ajax({
									type: 'post' ,
									url: flag=='add'?'UserServlet?method=save':'UserServlet?method=update' ,
									cache:false ,
									data:$('#myform').serialize() ,
									dataType:'json' ,
									success:function(result){
										//1 关闭窗口
										$('#mydialog').dialog('close');
										//2刷新datagrid 
										$('#t_user').datagrid('reload');
										//3 提示信息
										$.messager.show({
											title:result.status , 
											msg:result.message
										});
									} ,
									error:function(result){
										$.meesager.show({
											title:result.status , 
											msg:result.message
										});
									}
								});
							} else {
								$.messager.show({
									title:'提示信息!' ,
									msg:'数据验证不通过,不能保存!'
								});
							}
					});
					
					/**
					 * 关闭窗口方法
					 */
					$('#btn2').click(function(){
						$('#mydialog').dialog('close');
					});
					
						
					$('#searchbtn').click(function(){
						$('#t_user').datagrid('load' ,serializeForm($('#mysearch')));
					});
					
					
					$('#clearbtn').click(function(){
						$('#mysearch').form('clear');
						$('#t_user').datagrid('load' ,{});
					});
					

			});
			
			
			
		
			//js方法:序列化表单 			
			function serializeForm(form){
				var obj = {};
				$.each(form.serializeArray(),function(index){
					if(obj[this['name']]){
						obj[this['name']] = obj[this['name']] + ','+this['value'];
					} else {
						obj[this['name']] =this['value'];
					}
				});
				return obj;
			}

	</script>
  </head>
  
  <body>
			<div id="lay" class="easyui-layout" style="width: 100%;height:100%" >
				<div region="north" title="用户查询" collapsed=true style="height:100px;" >
					<form id="mysearch" method="post">
							用户名:   <input name="username" class="easyui-validatebox"  value="" />
							      
							开始时间:<input name="startTime"  class="easyui-datetimebox" editable="false" style="width:160px;"  value="" />	
							结束时间:<input name="endTime"  class="easyui-datetimebox" editable="false" style="width:160px;"  value="" />	
							      
							<a id="searchbtn" class="easyui-linkbutton">查询</a> <a id="clearbtn" class="easyui-linkbutton">清空</a>
					</form>
				
				</div>
				<div region="center" >
					<table id="t_user"></table>
				</div>
			</div>
  			
 			<div id="mydialog" title="新增用户" modal=true  draggable=false class="easyui-dialog" closed=true style="width:300px;">
	    		<form id="myform" action="" method="post">
	    				<input type="hidden" name="id" value="" />
	    				<table>
	    					<tr>
	    						<td>用户名:</td>
	    						<td><input type="text" name="username" class="easyui-validatebox" required=true validType="midLength[2,5]" missingMessage="用户名必填!" invalidMessage="用户名必须在2到5个字符之间!"  value="" /></td>
	    					</tr>
	    					<tr>
	    						<td>密码:</td>
	    						<td><input type="password" name="password" class="easyui-validatebox" required=true validType="equalLength[4]" missingMessage="密码必填!" value="" /></td>
	    					</tr>
	    					<tr>
	    						<td>性别:</td>
	    						<td>
	    							男<input type="radio" checked="checked" name="sex" value="1" />
	    							女<input type="radio" name="sex" value="2" />
	    						</td>
	    					</tr>
	    					<tr>
	    						<td>年龄:</td>
	    						<td><input id="age" type="text"  name="age" value="" /></td>
	    					</tr>
	    					<tr>
	    						<td>出生日期:</td>
	    						<td><input id="birthday" style="width:160px;"  type="text" name="birthday" value="" /></td>
	    					</tr>
	    					<tr>
	    						<td>所属城市:</td>
	    						<td>
	    							<input name="city" class="easyui-combobox" url="UserServlet?method=getCity" valueField="id" textField="name"  value="" />
	    						</td>
	    					</tr>
	    					<tr>
	    						<td>薪水:</td>
	    						<td><input id="salary" type="text" name="salary" value="" /></td>
	    					</tr>
	    					<tr>
	    						<td>开始时间:</td>
	    						<td><input id="startTime" style="width:160px;"  type="text" name="startTime"  value="" /></td>
	    					</tr>
	    					<tr>
	    						<td>结束时间:</td>
	    						<td><input id="endTime" style="width:160px;"   type="text" name="endTime"  value="" /></td>
	    					</tr>   
	    					<tr>
	    						<td>个人描述:</td>
	    						<td><input type="text" name="description" class="easyui-validatebox" required=true validType="midLength[5,50]" missingMessage="个人描述必填!" invalidMessage="描述必须在5到50个字符之间!"  value="" /></td>
	    					</tr> 
	    					<tr align="center">
	    						<td colspan="2">
	    							<a id="btn1" class="easyui-linkbutton">确定</a>
	    							<a id="btn2" class="easyui-linkbutton">关闭</a>
	    						</td>
	    					</tr>   					 					    					    					    					    					    					    					    					
	    				</table>
	    		</form> 			
 			</div>
  </body>
</html>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jquery easyui datagrid分页也可以选中行数据必加属性idField:'id' ,操作完$('#a').datagrid('unselectAll') 的相关文章

  • vsqt中导出工程的Pro文件

    直接在qtvstools中使用Create Basic pro File所产生的Pro与Pri文件无法打开原工程 正确的做法应该是先用Export Project to pri File导出Pri文件后再使用Create Basic pro
  • C语言动态内存练习:【通讯录(动态内存版本)实现】

    全文目录 前言 目标规划 结构变化 功能实现的不同点 添加功能 AddContact 扩容检查 CheckCapacity 销毁通讯录 DestroyContact 总结 源码 前言 前面我们写了一个静态数组版本的通讯录 再结合刚学习的动态
  • bug记录 bigint数据返回前端数字精度丢失

    我的主键是bigint 9607408720124535 但是前端展示就是9607408720124536 使用postman调用就是9607408720124535 正确的 最终确定是js的number类型有个最大安全值 即2的53次方
  • JavaFX通过Controller类实现第二窗口销毁和程序退出

    Preface Q 为什么有此文 A 不能高度自定义化 网上大部分文章是通过简易的warning窗口 或者 information窗口实现的 且过于繁琐 大部分放在了Main java 不好弄 原理 Controller类中关键性代码 具体
  • MYSQL——模糊查询:like

    模糊查询指的是在数据中按照一定模糊的条件进行搜索 模糊查询的核心在于通配符的使用 通过使用通配符可以匹配不同的字符或字符串 一般模糊查询语句如下 SELECT 字段 FROM 表 WHERE 某个字段 LIKE 条件 表示任意0个或多个字符
  • css 背景效果_软件技术:我写CSS的常用套路(附demo的效果实现与源码)

    前言 本文是笔者写CSS时常用的套路 不论效果再怎么华丽 万变不离其宗 1 交错动画 有时候 我们需要给多个元素添加同一个动画 播放后 不难发现它们会一起运动 一起结束 这样就会显得很平淡无奇 那么如何将动画变得稍微有趣一点呢 很简单 既然
  • Harbor仓库介绍与搭建过程

    一 介绍 Harbor 是一个英文单词 意思是港湾 港湾是干什么的呢 就是停放货物的 而货物呢 是装在集装箱中的 说到集装箱 就不得不提到Docker容器 因为docker容器的技术正是借鉴了集装箱的原理 所以 Harbor正是一个用于存储
  • mysql数据库知识整理

    目录 InnoDB和MyISAM引擎常见区别 索引的基本原理 聚簇索引和非聚簇索引的区别 索引的数据结构及优势 索引的设计原则 innerdb主键索引自增的原因以及联合索引最左原则 锁的类型有哪些 MySQL执行计划 InnoDb引擎的执行
  • 关于网络编程里自定义序列化(字节化)遇到的坑

    1 结构体字节流化可能会出现的问题 网络编程里很多时候需要发送结构体 比如下面定义一个最简单的拥有多个元素的结构体 typedef struct msg int len char name 24 msg t 在保持客户端和服务端程序的结构体
  • Servlet实现文件上传

    定义 在Servlet3 0之前实现文件上传需要借助Apache的上传组件 在3 0中 提供了一个Servlet API标准去支持文件上传 上传前置 表单页面设置 设置enctype属性格式为multipart form data meth
  • flutter多种底部导航栏样式

    1 底部导航栏 外弧样式 实现代码 引入flutter的dart库 import package flutter material dart 启动函数 void main gt runApp MyApp 自定义组件 class MyApp
  • springboot中使用注解获取前台header信息

    今天在写vue时 需要实现一个功能 就是前台通过header 请求头 将token发送到服务端 后台使用的是springboot 第一下想到是springboot注解 但是百度了挺久发现很多人都是使用的原生servlet对象来获取头信息 其
  • 【Educoder python 作业答案】国防科技大学《大学计算机基础》※ 冯·诺依曼体系结构——模拟 TOY 计算机(MOOC版)

    Educoder python 作业答案 国防科技大学 大学计算机基础 冯 诺依曼体系结构 模拟 TOY 计算机 MOOC版 第1关 程序加载 第2关 执行一条指令 第3关 自动执行 TOY 程序 第1关 程序加载 mem 1000 初始化
  • Effective C++ 条款十二:复制对象时勿忘其每一个成分

    这句话包含两部分的意思 第一部分是要考虑到所有成员变量 特别是后加入的 相应的拷贝构造函数和赋值运算符要及时更新 第二部分是在存在继承时 不要遗忘基类部分的复制 先看第一部分的意思 举个例子 class SampleClass privat
  • [Python人工智能] 二.TensorFlow基础及一元直线预测案例

    从本篇文章开始 作者正式开始研究Python深度学习 神经网络及人工智能相关知识 前一篇文章讲解了TensorFlow的安装过程和神经网络基础概念 这篇文章将分享TensorFlow基础并介绍一元直线预测的案例 主要结合作者之前的博客和 莫
  • ubuntu升级python版本(3.5->3.6)

    安装aioredis时提示Python版本需 gt 3 5 3 所以进行升级 命令如下 获取最新的python3 6 将其添加至当前apt库中 并自动导入公钥 sudo add apt repository ppa jonathonf py
  • Tomcat日志文件过大导致系统故障处理办法

    1 远程登录系统 2 查看日志文件 catalina out 文件大小 root localhost cd usr local apache tomcat logs root localhost logs du h catalina out
  • 创建Javaweb、导入jar包、配置Tomcat

    一 第一大步 新建一个项目 文件 新建 项目 空项目 项目名称 可以随便起 与3要保持一致 一般情况3会在2后自动生成 点完成即可 第二大步 新建模块 文件 新建 模块 java模块 点击下一步即可 模块名称 起名字 完成 第三大步 让模块
  • mac pro 安装arduino ide 驱动

    mac pro 安装arduino ide 需要安装额外驱动去识别USB 直接安装下面文件即可解决
  • cas 5.2.0登陆界面添加验证码和校验功能

    本文分为4个部分 1 登录界面添加验证码 2 自定义登录对象 增加一个验证码字段 3 自定义cas的登录流程 完成自定义校验 4 返回自定错误信息 1 配置验证码 生成验证码 使用google的kaptcha 需引入jar的包如下

随机推荐