extjs_06_grid(列锁定&列分组)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'index.jsp' starting page</title>

<!-- 引入样式,可以把ext-all.css换成ext-all-access.css |  ext-all-gray.css改变样式-->
<link rel="stylesheet" type="text/css" href="./extjs4.1/resources/css/ext-all.css">

<!-- 开发模式引入ext-all-debug.js,发布模式引入ext-all.js -->
<script type="text/javascript" src="./extjs4.1/ext-all-debug.js"></script>

<!-- 语言包 -->
<script type="text/javascript" src="./extjs4.1/locale/ext-lang-zh_CN.js"></script>

<script type="text/javascript">
	Ext
			.onReady(function() {
				// 自定义数据模型
				var myModel = Ext.define("studentInfo", {
					extend : "Ext.data.Model",
					fields : [ {
						name : "stuNo",
						type : "string"
					}, {
						name : "stuName",
						type : "string"
					}, {
						name : "stuClass",
						type : "string"
					}, {
						name : "chScore",
						type : "number"
					}, {
						name : "maScore",
						type : "number"
					}, {
						name : "enScore",
						type : "number"
					} ]
				});

				// 本地数据
				var myData = [ [ "No1", "Lisa", "1", 90, 90, 89 ], [ "No2", "Jack", "2", 91, 94, 100 ],
						[ "No3", "Nuna", "4", 92, 90, 90 ], [ "No4", "Selein", "3", 93, 65, 78 ],
						[ "No5", "Andy", "1", 78, 86, 89 ], [ "No6", "Nina", "2", 87, 90, 80 ],
						[ "No7", "Mofaid", "2", 85, 79, 89 ], [ "No8", "Holy", "4", 81, 90, 63 ],
						[ "No9", "Wooden", "1", 90, 92, 89 ], [ "No10", "Kasis", "1", 90, 90, 92 ],
						[ "No11", "wangzs", "5", 80, 90, 52 ], [ "No11", "wangsm", "5", 97, 40, 82 ],
						[ "No12", "lily", "3", 60, 90, 72 ] ];
				var myStore = Ext.create("Ext.data.Store", {
					model : "studentInfo",
					data : myData,
					groupField : "stuClass"//默认以班级分组
				});

				// 表格
				var myGrid = new Ext.grid.Panel({
					columns : [ {
						text : "姓名",
						dataIndex : "stuName",
						renderer : function(value) {//设置学生个人博客链接
							return "<a href='http://blog.csdn.net/adam_wzs'>" + value + "</a>";
						},
						locked : true,//锁定该列
						summaryType : "count",
						summaryRenderer : function(value) {
							return "共" + value + "人";
						}
					}, {
						text : "学生信息",
						columns : [ {
							text : "学号",
							dataIndex : "stuNo"
						}, {
							text : "班级",
							dataIndex : "stuClass",
							renderer : function(value) {
								var resultStr;
								if (value == "1") {
									resultStr = "一年级";
								} else if (value == "2") {
									resultStr = "二年级";
								} else if (value == "3") {
									resultStr = "三年级";
								} else if (value == "4") {
									resultStr = "四年级";
								} else {
									resultStr = "x年级";
								}
								return resultStr;
							}
						} ]
					}, {
						text : "成绩",
						columns : [ {
							text : "语文",
							dataIndex : "chScore",
							summaryType : "sum",//总分
							summaryRenderer : function(value) {
								return "总分:" + value;
							}
						}, {
							text : "数学",
							dataIndex : "maScore",
							summaryType : "average",//平均分
							summaryRenderer : function(value) {//设置结果格式
								return "平均分" + Ext.util.Format.number(value, "0.00");
							}
						}, {
							text : "英语",
							dataIndex : "enScore",
							summaryType : "max",//最高分
							summaryRenderer : function(value) {
								return "最高分:" + value;
							}
						} ]
					} ],
					store : myStore,
					features : [ {//定义表格特征
						ftype : "groupingsummary",
						enableGroupingMenu : true
					//使表头的菜单分组控制可用
					// hideGroupedHeader : true
					//隐藏当前分组的表头
					} ]
				});

				// 窗口
				var window = Ext.create("Ext.window.Window", {
					title : "学生成绩表",
					width : 600,
					height : 400,
					items : myGrid,
					layout : "fit"
				});
				window.show();
			});
</script>

</head>

<body>
	列锁定/列分组
	<br>
</body>
</html>

extjs_06_grid(列锁定&列分组)

时间: 2024-09-29 01:40:12

extjs_06_grid(列锁定&列分组)的相关文章

Ext3.x版本锁定列和多表头的插件

Ext3.x版本的锁定列和多表头都是通过插件实现,但是这两个插件不能一起工作,而实际上这样的业务也是存在的,即在多表头的情况下也需要锁定列. 在Ext的论坛上有很多这样的需求,都没有一个解决方案,除了一个需要收费的(150没有),而且联系起来也麻烦.后面决定自己做一个. 效果如下图: 使用方法: this.view = new Ext.ux.grid.LockingHeaderGroupView({grows : [[{},{},{},{"align":"center&quo

[转] js实现html table 行,列锁定

js实现html table 表头,指定列锁定 实现效果如下: 感兴趣的朋友可以直接复制出来运行看效果. 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml&

用NPOI操作EXCEL-锁定列CreateFreezePane()

public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkbook(); string random = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(100); string fileName = HttpUtility.UrlEncode("sheet"

table锁定列的一个方法.及琢磨思路

         div {              width: 600px;              overflow-x:scroll;               margin-left:5em;              border:1px solid red;         }         .headcol {             position:absolute;              width:5em;              background-co

重温SQL——行转列,列转行

行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清晰,而且比较习惯. 但是PIVOT .UNPIVOT提供的语法比一系列复杂的SELECT...CASE 语句中所指定的语法更简单.更具可读性.下面我们通过几个简单的例子来介绍一下列转行.行转列问题. 我们首先先通过一个老生常谈的例子,学生成绩表(下面简化了些)来形象了解下行转列 CREATE TAB

SQL——行转列,列转行

行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清晰,而且比较习惯. 但是PIVOT .UNPIVOT提供的语法比一系列复杂的SELECT...CASE 语句中所指定的语法更简单.更具可读性.下面我们通过几个简单的例子来介绍一下列转行.行转列问题. 我们首先先通过一个老生常谈的例子,学生成绩表(下面简化了些)来形象了解下行转列 CREATE TAB

SQLServer处理行转列和列转行

掌握SQL Server 行转列和列转行 1.列转行 数据经过计算加工后会直接生成前端图表需要的数据源,但是程序里又需要把该数据经过列转行写入中间表中,下次再查询该数据时直接从中间表查询数据. 1.1 列换行语法 table_source UNPIVOT( value_column FOR pivot_column IN(<column_list>) ) 1.2  行转列案例 WITH T AS ( SELECT 1 as TeamId,'测试团队1' as Team,80 'MEN',20

做图表统计你需要掌握SQL Server 行转列和列转行

说在前面 做一个数据统计和分析的项目,每天面对着各种数据,经过存储过程从源表计算汇总后需要写入中间结果表以提高数据使用效率,那么此时就需要用到行转列和列转行. 1.列转行 数据经过计算加工后会直接生成前端图表需要的数据源,但是程序里又需要把该数据经过列转行写入中间表中,下次再查询该数据时直接从中间表查询数据. 1.1 列换行语法 table_source UNPIVOT( value_column FOR pivot_column IN(<column_list>) ) 1.2  行转列案例

oracle 行转列、列转行

最近做数据处理,经常遇到需要行转列.列转行的场景,记录个非常简单实用的oracle  列转行.行转的列方法 1.行转列,基础数据如下 做行转列处理 处理SQL select user_name,max(date_201501) as date_201501,max(date_201502),max(date_201503),max(date_201504) from (select t.user_name,case when t.acct_date = '201501' then t.flow