`

【数据表格】-004-columns特性

阅读更多

1、columns特性的属性说明



 

 

2、WebContent/jsp/datagrid_004.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	String root = request.getContextPath();
%>	
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>数据表格--columns特性</title>
<!-- 引入外部样式 -->
<link rel="stylesheet" type="text/css" href="<%=root %>/css/common.css" />
<!-- 引入easyui依赖库 -->
<script type="text/javascript" src="<%=root %>/js/jquery-easyui-1.2.6/jquery-1.7.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="<%=root %>/js/jquery-easyui-1.2.6/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="<%=root %>/js/jquery-easyui-1.2.6/themes/icon.css" />
<script type="text/javascript" src="<%=root %>/js/jquery-easyui-1.2.6/jquery.easyui.min.js"></script>
<script type="text/javascript" src="<%=root %>/js/jquery-easyui-1.2.6/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript">
	$(function() {
		$('#t_user').datagrid({
			idField:'id', //标识字段,只要创建数据表格,就必须要加 idField
			url:'<%=root %>/UserServlet?method=getList', //后台访问地址
			title:'用户列表', //表格标题
			width:1000, //表格宽度
			height:400, //表格高度
			fitColumns:true, //自动扩展或收缩列的大小以适应网格宽度和防止水平滚动条
			/*
			frozenColumns:[[ //冻结列特点,会将列冻结在左边,不能与fitColumns特性一起使用
				{field:'username',title:'用户名',width:100}
			]],*/
			striped:true, //隔行换色,默认值为false
			//nowrap:true, //当true时,把数据显示在一行;当false时,数据会被换行;默认值为true
			loadMsg:'数据正在加载,请耐心等待...',
			rownumbers:true, //显示行号,默认为false
			//singleSelect:true, //当true时,只允许单选,默认为false
			//remoteSort:false, //定义是否从服务器给数据排序,默认值为true,当为false时,sortName和sortOrder设置才有效
			//sortName:'salary', //定义可以排序的列
			//sortOrder:'desc', //定义列的排序顺序,只能用'asc'或'desc'
			pagination:true, //在表格底部显示分页栏,默认为false不显示
			pageSize:5, //当设置了pagination特性时,初始化每页显示的记录数
			pageList:[5,10,15,20,50], //当设置了pagination特性时,初始化页面尺寸的选择列表,默认值[10,20,30,40,50]
			rowStyler:function(rowIndex,rowData) { //行样式设置
				if(rowData.age>25) {
					return "background:red";
				}
			},
			columns:[[ //定义对应后台传过来的列名(field),表格列的名字(title),表格宽度(width),表格列的对齐方式(align)
			    {
					field:'ck',
					width:50,
					checkbox:true
				},
			    {
			    	field:'username',
			    	title:'用户名',
			    	width:100,
			    	styler:function(value,rowData,rowIndex){ //单元格的样式函数
			    		if(value == 'admin') {
			    			return 'background:blue;';
			    		}
			    	}
			    },
				{
			    	field:'password',
			    	title:'密码',
			    	width:100,
			    	hidden:true
			    },
				{
			    	field:'age',
			    	title:'年龄',
			    	width:100,
			    	align:'right',
			    	sortable:true
			    },
				{
					field:'sex',
					title:'性别',
					width:50,
					formatter:function(value,rowData,rowIndex){ //单元格的格式化函数
						if(value == 1) {
							return '男';
						} else if(value == 2) {
							return '女';
						}
					}
				},
				{
					field:'birthday',
					title:'生日',
					width:100
				},
				{
					field:'city',
					title:'所属城市',
					width:100,
					formatter:function(value,rowData,rowIndex){ //单元格的格式化函数
						var str = '';
						$.ajax({
							type:'post',
							url:'<%=root %>/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:'starttime',
					title:'开始时间',
					width:180
				},
				{
					field:'endtime',
					title:'结束时间',
					width:180
				},
				{
					field:'description',
					title:'个人描述',
					width:150,
					formatter:function(value,rowData,rowIndex){ //单元格的格式化函数
						return '<span title='+value+'>'+value+'</span>';
					}
				}
			]]
		});
	});
</script>
</head>
<body>
	<table id="t_user"></table>
</body>
</html>

 

3、com.easyui.bean.CityBean.java

 

package com.easyui.bean;

/**
 * 城市基本信息 
 * @author LiPiaoShui
 */
public class CityBean {

	private int id;
	private String name;
	
	public CityBean(int id, String name) {
		this.id = id;
		this.name = name;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}

 

4、com.easyui.servlet.UserServlet.java

 

package com.easyui.servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import com.easyui.bean.CityBean;
import com.easyui.bean.TUserBean;
import com.easyui.dao.UserDao;

/**
 * 用户控制器类
 * 
 * @author LiPiaoShui
 */
public class UserServlet extends HttpServlet {

	private static final long serialVersionUID = 9140830946116659042L;
	private UserDao uDao = new UserDao();

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		this.doPost(request, response);
	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		String method = request.getParameter("method");
		if ("getList".equals(method)) {
			getList(request, response);
		} else if("getCityName".equals(method)) {
			getCityName(request, response);
		}
	}

	/**
	 * 获取城市信息
	 * @param request
	 * @param response
	 */
	private void getCityName(HttpServletRequest request,
			HttpServletResponse response) {
		try {
			List<CityBean> cList = new ArrayList<CityBean>();
			cList.add(new CityBean(1,"北京"));
			cList.add(new CityBean(2,"上海"));
			cList.add(new CityBean(3,"深圳"));
			cList.add(new CityBean(4,"长春"));
			int id = Integer.parseInt(request.getParameter("id"));
			for(CityBean city:cList) {
				if(id == city.getId()) {
					response.setContentType("text/html;charset=utf-8");
					response.getWriter().write(JSONObject.fromObject(city).toString());
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 获取全部用户信息
	 * 
	 * @param request
	 * @param response
	 */
	private void getList(HttpServletRequest request,
			HttpServletResponse response) {
		try {
			//当前页码
			int currentPage = Integer.parseInt(request.getParameter("page"));
			//每页显示的大小
			int pageSize = Integer.parseInt(request.getParameter("rows"));
			// 获取分页显示的用户信息
			List<TUserBean> uList = uDao.queryByPagination(currentPage, pageSize);
			//获取总用户数
			int total = uDao.getTotal();
			// json格式 --> {"total":10,"rows":[{},{}]}
			String json = "{\"total\":" + total + ",\"rows\":"
					+ JSONArray.fromObject(uList).toString() + "}";
			response.setContentType("text/html;charset=utf-8");
			response.getWriter().write(json);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

 

 5、formatter单元格的格式化函数



 

 

 
6、sortable允许此列被排序
 

 

 

【说明】:该特性不能与remoteSort一起使用,且需要后台支持。

 

 7、hidden隐藏此列

 

 

 

 8、checkbox复选框



 

 

9、styler单元格的样式函数



 

 

10、formatter鼠标移上显示全部信息



 

 

11、formatter通过ajax请求获取后台的城市名称



 

 

 

 

  • 大小: 26 KB
  • 大小: 16.9 KB
  • 大小: 29.7 KB
  • 大小: 29.6 KB
  • 大小: 51 KB
  • 大小: 56.5 KB
  • 大小: 52.3 KB
  • 大小: 25.2 KB
  • 大小: 52 KB
  • 大小: 28.5 KB
  • 大小: 69.5 KB
  • 大小: 26.9 KB
  • 大小: 48.3 KB
  • 大小: 29.5 KB
  • 大小: 25.5 KB
  • 大小: 63.5 KB
  • 大小: 36.9 KB
  • 大小: 52.9 KB
分享到:
评论

相关推荐

    bootstrap-table-fixed-columns.js

    在网页设计中,固定列是一个常见的需求,尤其是在数据量大且列宽固定的表格中,固定列可以确保用户在滚动查看数据时,表头或者某些重要的列始终保持可见,提高用户体验。 在Bootstrap Table中,`bootstrap-table-...

    bootstraptable-reorder-columns表格拖拽排序列

    "bootstraptable-reorder-columns" 是这个库的一个扩展插件,专门用于实现表格列的拖拽排序功能。用户可以通过简单的拖放操作来调整表格列的顺序,极大地提高了用户在查看和管理大量数据时的灵活性和便利性。 在Web...

    bootstrap-table-fixed-columns

    通过以上介绍,我们可以看到 "bootstrap-table-fixed-columns" 插件为 Bootstrap Table 增添了强大的固定列功能,使得在处理大数据量表格时能提供更好的用户界面和交互体验。开发者可以根据项目需求灵活运用,提升...

    jquery-resizable-columns

    "jquery-resizable-columns"正是这样一个jQuery插件,它允许用户通过鼠标拖动来改变表格列宽,从而满足不同场景下的数据查看需求。 一、jQuery可拖动列宽插件介绍 "jquery-resizable-columns"是基于jQuery的一个轻...

    fixed-columns

    这个特性允许用户在滚动浏览长表格时,将某些列(通常是列头)固定在屏幕的一侧,使得这些关键信息始终保持可见,从而提高用户的可读性和操作体验。 "fixed-columns表格固定列"这一技术主要应用于JavaScript库,如...

    uni-app table表格

    在uni-app框架中,`table`组件是一种用于展示数据的常用元素,尤其在处理列表或者表格数据时。uni-app是一个跨平台的前端开发框架,它允许开发者使用Vue.js语法编写代码,一次编写,多端运行,包括iOS、Android、H5...

    react-ReactTable一个快速轻量级固执己见的React数据表格

    ReactTable 是一个非常受欢迎的开源库,用于在React应用程序中创建功能丰富的数据表格。它以其高性能、灵活性和自定义程度而著称,是开发者在处理数据展示时的首选工具之一。下面将详细介绍ReactTable的核心特性、...

    bootstrap table-js.rar

    Bootstrap Table是一款基于Bootstrap框架的动态数据表格插件,它提供了丰富的功能,如排序、过滤、分页、自定义列等,极大地增强了网页中表格的交互性和用户体验。在使用"bootstrap table-js.rar"这个压缩包时,你...

    DataTables - jQuery表格插件

    DataTables是一款基于jQuery库的强大的表格插件,它极大地增强了HTML表格的功能,提供了丰富的排序、搜索、分页、列操作等交互性功能...通过其强大的功能和灵活的配置,开发者可以创建出符合用户需求的高性能数据表格。

    bootstrap-table相关包.zip

    总的来说,"bootstrap-table相关包.zip"提供了一个完整的解决方案,帮助开发者轻松实现具有高级特性的表格,无需从零开始编写复杂的前端代码。这个压缩包的内容覆盖了Bootstrap Table的基本使用和扩展功能,是构建...

    vxe-table vue表格解决方案 v4.5.20.zip

    2. **基本使用**:在Vue模板中,通过`&lt;vxe-table&gt;`标签创建表格,并通过`columns`属性设置列配置,`data`属性绑定数据。 ```html &lt;vxe-table :columns="tableColumns" :data="tableData"&gt;&lt;/vxe-table&gt; ``` 3. *...

    bootstrap-table头部错位已完美解决

    另外,当表格内容过多,导致需要滚动查看时,如果表格的固定列(fixed-columns)设置不当,也可能造成错位。 为了解决这个问题,我们可以采取以下策略: 1. **检查CSS样式**:确保没有其他CSS规则覆盖Bootstrap的...

    react-ReactTabulator基于tabulator具有许多实用功能的高级数据表格库

    React Tabulator是一个强大的React组件,它利用了Tabulator库的功能,为开发者提供了丰富的高级数据表格解决方案。这个组件在React生态系统中扮演着数据展示和管理的角色,尤其适合处理大量复杂数据并需要灵活定制...

    VB Columns的举例说明

    VB Columns是Visual Basic编程环境中的一种数据控件,用于在用户界面中展示表格或列式数据。这个概念在创建数据驱动的应用程序时非常常见,尤其是在处理数据库记录或者进行数据分析时。以下是对VB Columns的详细说明...

    jQuery股票数据表格插件mmGrid.zip

    **jQuery股票数据表格插件mmGrid详解** 在Web开发中,高效展示大量数据是一个常见的挑战。为了解决这个问题,开发者通常会使用各种表格组件。"jQuery股票数据表格插件mmGrid.zip"提供了一个轻量级的解决方案,它...

    react-reactdatacomponentsReact表格组件具有排序过滤和分页功能

    `react-data-components`是一个专门针对这种需求设计的库,它提供了一个强大的React表格组件,支持数据的排序、过滤和分页功能,极大地提高了开发效率和用户体验。本文将深入探讨这个组件的核心特性、用法以及如何在...

    Bootstrap-table分页+汇总统计

    这个插件不仅提供了基本的表格展示,还支持数据分页、排序、过滤、自定义列显示等高级特性,使得在网页上展示大量数据变得更加便捷和美观。在本场景中,“Bootstrap-table 分页 + 汇总统计”意味着我们将探讨如何...

    bootstrap-table真实交互数据

    总结,"bootstrap-table真实交互数据"示例是一个实用的教程,它展示了如何利用Bootstrap Table插件构建一个与后台实时交互的数据表格。通过对HTML、JavaScript、JSON数据格式以及Bootstrap Table的配置和事件的理解...

Global site tag (gtag.js) - Google Analytics