- 浏览: 654721 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (609)
- java (139)
- 数据库 (107)
- 微信 (23)
- IT生活 (5)
- web前端 (74)
- SSH (11)
- 设计模式 (12)
- 重要资料 (11)
- 其他 (15)
- java技巧 (23)
- 服务器 (9)
- 2D/GUI (3)
- JAVA3D (2)
- ANT (5)
- Apache项目 (19)
- 数据类型 (10)
- 报表 (3)
- Collections (6)
- SQL/JDBC (15)
- 开发类 (6)
- EJB (6)
- Email (6)
- 文件读写 (2)
- 游戏 (0)
- Flex (2)
- Generic (2)
- HIbernate (12)
- I18N (5)
- Java EE (9)
- java ME (4)
- JDK 6 (8)
- JNDI/LDAP (5)
- JSP (7)
- JSTL (2)
- 正则表达式 (2)
- 安全 (2)
- Struts2 (12)
- Spring (4)
- Web服务 (10)
- Xml (1)
- JavaScript (30)
- AJAX (7)
- 验证 (4)
- 上传下载 (1)
- office办公软件 (1)
- Android (2)
- IOS (0)
- Dubbo (3)
- memcached/redis (1)
- 小程序 (1)
- 微信公众号 (0)
最新评论
-
wf_wangfeng:
怎么我用第一种方法不行呢 alert(document.rea ...
当jsp页面完全加载完成后执行一个js函数 -
Lori_Liu:
有帮助,至少可以解决了目前所遇到的问题!谢谢..
当jsp页面完全加载完成后执行一个js函数 -
starbhhc:
String actionMessage = new Stri ...
Java读取txt文件乱码 -
starbhhc:
Sev7en_jun 写道GOOD
客气,互相交流。。
javaeye论坛规则小测验(答案)--star -
Sev7en_jun:
GOOD
javaeye论坛规则小测验(答案)--star
为Grid配置了Ext.grid.CheckboxSelectionModel()属性,但达不到想的效果,去查看了源码,也没看出个所以然,请教各位前辈,用什么方法可以实现以下两种效果:
1.点击记录只改变背景色,不改变选择状态。要想选中,只能去点击checkbox
2.点击记录,选中该记录,但不改变其它已选中记录的状态。
源码:
gridJson.js
// ext-grid.2.x
Ext.onReady(function(){
// 定义一个checkBox
var sm = new Ext.grid.CheckboxSelectionModel();
sm.handleMouseDown = Ext.emptyFn;
// 定义一个ColumnModel,表头中有四列
var cm = new Ext.grid.ColumnModel([
sm,
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'descn'}
]);
/*===================== 判断红男绿女 =====================*/
function myRenderSex(value){
if (value == 'male'){
return "<span style='color:red;font-weight:bold;'> 红男 </span><img src='\images\\male.png' />";
}else{
return "<span style='color:green;font-weight:bold;'> 绿女 </span><img src='\images\\fmale.png' />";
}
}
/*===================== 察看详细 =====================*/
function renderDescn(value, cellmeta, record, rowIndex, columnIndex, store) {
var str = "<input type='button' value='查看详细信息' onclick='alert(\"" +
"这个单元格的值是:" + value + "file://n/" +
"这个单元格的配置是:{cellId:" + cellmeta.cellId + ",id:" + cellmeta.id + ",css:" + cellmeta.css + "}\\n" +
"这个单元格对应行的record是:" + record + ",一行的数据都在里边file://n/" +
"这是第" + rowIndex + "行file://n/" +
"这是第" + columnIndex + "列file://n/" +
"这个表格对应的Ext.data.Store在这里:" + store + ",随便用吧。" +
"\")'>";
return str;
}
/*===================== 二维数组 =====================*/
/* ArrayData:添加数据 */
var data = [
['1','name1','descn1'],
['2','name2','descn2'],
['3','name3','descn3'],
['4','name4','descn4'],
['5','name5','descn5']
];
/* ArrayReader
* ds要对应两个部分:proxy和reader。proxy告诉我们从哪里获得数据,reader告诉我们如何解析这个数据。
* Ext.data.MemoryProxy,它是专门用来解析js变量的。你可以看到,我们直接把data作为参数传递进去了。
*/
var ds = new Ext.data.Store({
/*
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({}, [
{name: 'id',mapping: 0},
{name: 'sex',mapping: 1},
{name: 'name',mapping: 2},
{name: 'descn',mapping: 3}
])
*/
proxy: new Ext.data.HttpProxy({url:'gridJsonData.jsp'}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'
}, [
{name: 'id'},
{name: 'name'},
{name: 'descn'}
])
});
/* 装配 */
/*
注意:Ext.grid.Grid的第一个参数是渲染的id,
对应在html里应该有一个 <div id="grid"></div>的东西,这样grid才知道要把自己画到哪里。
创建完grid以后,还要用grid.render()方法,让grid开始渲染,这样才能显示出来。
*/
cm.defaultSortable = true; // 设置列可排序
var grid = new Ext.grid.GridPanel({
el: 'grid',
ds: ds,
cm: cm,
//sm: sm,
// 定义分页
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: ds,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
}),
sm: sm,
title: "Grid 例子",
height: 300
});
grid.on('rowclick', function(grid,t) {
if(sm.isSelected(t))
sm.deselectRow(t);
else
sm.selectRow(t,true);
});
ds.load({params:{start:0, limit:10}});
grid.render();
})
gridJsonData.jsp
<%
String start = request.getParameter("start");
String limit = request.getParameter("limit");
//String start = "0";
//String limit = "100";
try {
int index = Integer.parseInt(start);
int pageSize = Integer.parseInt(limit);
String json = "{totalProperty:100,root:[";
for (int i = index; i < pageSize + index; i++) {
json += "{id:" + i + ",name:'name" + i + "',descn:'descn" + i + "'}";
if (i != pageSize + index - 1) {
json += ",";
}
}
json += "]}";
response.getWriter().write(json);
} catch(Exception ex) {
}
%>
grid.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Grid</title>
<!-- Base Js Lib-->
<script type="text/javascript" src="http://www.cnblogs.com/extPlus/release2/js/ext-base.js"></script>
<script type="text/javascript" src="http://www.cnblogs.com/extPlus/release2/js/ext-all.js"></script>
<script type="text/javascript" src="http://www.cnblogs.com/extPlus/release2/js/ext-lang-zh_CN.js"></script>
<!-- Base css and patch-->
<link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/extPlus/release2/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/extPlus/release2/css/ext-patch.css" />
<!-- local js lib-->
<script type="text/javascript" src="gridJson.js"></script>
</head>
<body>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td >测试</td>
</tr>
<tr>
<td >
<div id="grid"></div>
</td>
</tr>
</table>
</body>
</html>
1.点击记录只改变背景色,不改变选择状态。要想选中,只能去点击checkbox
2.点击记录,选中该记录,但不改变其它已选中记录的状态。
源码:
gridJson.js
// ext-grid.2.x
Ext.onReady(function(){
// 定义一个checkBox
var sm = new Ext.grid.CheckboxSelectionModel();
sm.handleMouseDown = Ext.emptyFn;
// 定义一个ColumnModel,表头中有四列
var cm = new Ext.grid.ColumnModel([
sm,
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'descn'}
]);
/*===================== 判断红男绿女 =====================*/
function myRenderSex(value){
if (value == 'male'){
return "<span style='color:red;font-weight:bold;'> 红男 </span><img src='\images\\male.png' />";
}else{
return "<span style='color:green;font-weight:bold;'> 绿女 </span><img src='\images\\fmale.png' />";
}
}
/*===================== 察看详细 =====================*/
function renderDescn(value, cellmeta, record, rowIndex, columnIndex, store) {
var str = "<input type='button' value='查看详细信息' onclick='alert(\"" +
"这个单元格的值是:" + value + "file://n/" +
"这个单元格的配置是:{cellId:" + cellmeta.cellId + ",id:" + cellmeta.id + ",css:" + cellmeta.css + "}\\n" +
"这个单元格对应行的record是:" + record + ",一行的数据都在里边file://n/" +
"这是第" + rowIndex + "行file://n/" +
"这是第" + columnIndex + "列file://n/" +
"这个表格对应的Ext.data.Store在这里:" + store + ",随便用吧。" +
"\")'>";
return str;
}
/*===================== 二维数组 =====================*/
/* ArrayData:添加数据 */
var data = [
['1','name1','descn1'],
['2','name2','descn2'],
['3','name3','descn3'],
['4','name4','descn4'],
['5','name5','descn5']
];
/* ArrayReader
* ds要对应两个部分:proxy和reader。proxy告诉我们从哪里获得数据,reader告诉我们如何解析这个数据。
* Ext.data.MemoryProxy,它是专门用来解析js变量的。你可以看到,我们直接把data作为参数传递进去了。
*/
var ds = new Ext.data.Store({
/*
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({}, [
{name: 'id',mapping: 0},
{name: 'sex',mapping: 1},
{name: 'name',mapping: 2},
{name: 'descn',mapping: 3}
])
*/
proxy: new Ext.data.HttpProxy({url:'gridJsonData.jsp'}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'
}, [
{name: 'id'},
{name: 'name'},
{name: 'descn'}
])
});
/* 装配 */
/*
注意:Ext.grid.Grid的第一个参数是渲染的id,
对应在html里应该有一个 <div id="grid"></div>的东西,这样grid才知道要把自己画到哪里。
创建完grid以后,还要用grid.render()方法,让grid开始渲染,这样才能显示出来。
*/
cm.defaultSortable = true; // 设置列可排序
var grid = new Ext.grid.GridPanel({
el: 'grid',
ds: ds,
cm: cm,
//sm: sm,
// 定义分页
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: ds,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
}),
sm: sm,
title: "Grid 例子",
height: 300
});
grid.on('rowclick', function(grid,t) {
if(sm.isSelected(t))
sm.deselectRow(t);
else
sm.selectRow(t,true);
});
ds.load({params:{start:0, limit:10}});
grid.render();
})
gridJsonData.jsp
<%
String start = request.getParameter("start");
String limit = request.getParameter("limit");
//String start = "0";
//String limit = "100";
try {
int index = Integer.parseInt(start);
int pageSize = Integer.parseInt(limit);
String json = "{totalProperty:100,root:[";
for (int i = index; i < pageSize + index; i++) {
json += "{id:" + i + ",name:'name" + i + "',descn:'descn" + i + "'}";
if (i != pageSize + index - 1) {
json += ",";
}
}
json += "]}";
response.getWriter().write(json);
} catch(Exception ex) {
}
%>
grid.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Grid</title>
<!-- Base Js Lib-->
<script type="text/javascript" src="http://www.cnblogs.com/extPlus/release2/js/ext-base.js"></script>
<script type="text/javascript" src="http://www.cnblogs.com/extPlus/release2/js/ext-all.js"></script>
<script type="text/javascript" src="http://www.cnblogs.com/extPlus/release2/js/ext-lang-zh_CN.js"></script>
<!-- Base css and patch-->
<link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/extPlus/release2/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/extPlus/release2/css/ext-patch.css" />
<!-- local js lib-->
<script type="text/javascript" src="gridJson.js"></script>
</head>
<body>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td >测试</td>
</tr>
<tr>
<td >
<div id="grid"></div>
</td>
</tr>
</table>
</body>
</html>
发表评论
-
npm安装教程
2020-11-23 16:09 689一、使用之前,我们先来掌握3个东西是用来干什么的。 npm ... -
手机上万能返回上一页代替history.go(-1)
2016-05-13 11:25 819最近在做wap2.0的手机wap,写返回上一页的时候,开始 ... -
3.nodejs nodejs的mysql模块
2016-04-12 22:20 556安装nodejs的mysql模块首先要选定一个数据库,我选择 ... -
2.nodejs 使用Express4.x搭建第一个Web应用
2016-04-12 09:36 600Express4.x 是一个开源的node.js项目框架 ... -
1.nodejs windows 下安装nodejs
2016-04-12 09:34 4081.下载: 在nodejs的官方网站下载mis文件。ht ... -
Nodejs学习
2016-04-11 17:21 527将介绍如何利Javascript做为服务端脚本,通过Node ... -
HTML5做手机站页面字体显示很小的解决方法
2016-05-28 23:31 731HTML5做手机站需要加上一部分代码,不然字体会显示很小的 ... -
jquery 校验
2015-07-07 11:16 0EasyUI 验证框使用方法: ... -
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2015-05-20 09:49 589一、javascript函数实现: //JavaS ... -
//from提交表单 使用ajax异步读取,回调函数
2015-04-24 18:05 0<%@ page language="ja ... -
js获取带checkbox行的记录的Id值的两个方法
2015-04-09 14:44 679第一种: function updateProcess() ... -
基于注解的SpringMVC简单介绍
2015-04-03 11:58 591SpringMVC是一个基于DispatcherServle ... -
Linux环境下Nginx的安装
2014-03-28 13:26 486Linux下命令: /usr/local/nginx/s ... -
自用打印(二)
2014-03-19 17:30 578<html> <title> ... -
自用打印方法(一)
2014-03-19 17:25 465经过验证的,自用的。 ... -
各种微博分享代码
2014-03-19 15:56 942<HTML> <HEAD> ... -
JSP页面打印(二)
2014-03-18 11:04 761<HTML><HEAD><T ... -
JSP页面打印方法(一)
2014-03-18 10:57 3163JSP页面打印方法 方法一:function Print ... -
jquery和js初始化加载的多种方法
2014-01-20 14:48 906jquery和js初始化加载页面的区别: jquery:等 ... -
js自动刷新当前页面
2013-12-19 14:09 796reload 方法,该方法强 ...
相关推荐
在"一个很好的EXTGRID实例"中,我们可以看到一个BS(Browser/Server)架构的应用,它采用EXT GRID作为用户界面的核心部分,用于显示和管理人员信息。BS架构意味着大部分业务逻辑和数据显示都在浏览器端处理,而...
在这个实例中,Store将与Web服务接口通信以获取数据。 2. **Model**: Model定义了数据字段和它们的数据类型,它为Grid提供数据结构。 3. **Column Model**: Column Model定义了Grid中列的配置,包括列的标题、数据...
Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码
EXT2.0 GRID 示例是一个基于EXT JavaScript库的高级数据展示和操作组件的实例。EXT是一个强大的前端开发框架,尤其在创建交互式Web应用程序方面表现出色。EXT2.0是EXT库的一个早期版本,它提供了丰富的用户界面组件...
在这个实例中,`Tree`和`Grid`可能都被嵌入到同一个`Panel`中,这样可以统一管理和控制整个界面布局,使得界面看起来更加整洁和协调。 多级选择功能是`Tree`组件的一大亮点。用户不仅可以选中单个节点,还能一次性...
Ext Grid和Tree是Ext JS库中的两种重要组件,它们在Web应用开发中广泛用于数据展示和组织。Ext JS是一个强大的JavaScript框架,它提供了一系列高级UI组件,帮助开发者构建功能丰富的、交互性强的Web应用程序。 首先...
在测试EXT Grid实例之前,确保已经下载了EXT JS库文件,包括CSS样式表、JavaScript库和必要的图片资源。EXT Grid的配置涉及很多方面,如列定义、排序、过滤、编辑等,需要根据具体需求进行定制。同时,理解EXT JS的...
在EXT后台经典实例中,数据模型通常对应于后端数据库中的表结构。 3. **Store**:Store是EXT中管理数据的核心组件,它链接到数据源(如服务器),负责加载、缓存和处理数据。在"增删改查"操作中,Store会触发加载、...
在JavaServer Pages (JSP) 开发中,EXT 是一个流行的JavaScript 框架,它提供了丰富的用户界面组件,包括Grid(数据网格)和Table。EXT 提供了一种优雅的方式来展示和操作数据,尤其适用于创建交互式的Web应用程序,...
- 首先,你需要创建一个Grid实例,并指定数据源(Store)。在Ext JS 2.0中,Store通常与远程数据源(例如PHP页面)通过JSON或XML进行通信。 - 为Grid添加分页栏(Paging Toolbar),它包含页码按钮、跳转输入框等...
在"EXT_JS实例,官方实例"这个压缩包中,你将找到EXT JS 3.2.1版本的官方示例。EXT JS 3.2.1是一个稳定且广泛使用的版本,包含了各种功能和改进,包括表格、树形视图、网格、表单、菜单、工具提示、窗口和其他UI组件...
在实际项目中,你需要理解这两个文件中的代码逻辑,以便在Grid的单元格中正确地实例化和使用这些组件。 通过这样的自定义插件,我们可以极大地提升用户界面的交互性和用户体验。同时,这也体现了Ext JS框架的灵活性...
最后,"EXT 中文手册 用实例来说话"很可能会包含一些实战项目或案例,帮助读者将理论知识应用到实际开发中,提高解决实际问题的能力。对于初学者,这样的实践是非常有益的,可以加速理解和掌握EXTJS。 总的来说,这...
1. **创建EXT Grid**:首先,你需要创建一个EXT Grid实例,定义列模型、数据源、以及任何其他必要的配置项。例如,你可以使用`Ext.create('Ext.grid.Panel', { ... })`来创建Grid,并设置`columns`,`store`等属性。...
Ext4.2 MVC 实例 源码 grid tree layout。。。
每一项都是一个`Ext.grid.Column`实例。 - 示例:`columns: [{ header: '姓名', dataIndex: 'name' }, { header: '年龄', dataIndex: 'age' }]` 3. **autoExpandColumn** - 说明:此配置项指定了一个列ID,该列会...
Grid组件在EXT JS中扮演着数据表格的角色,可以展示多列数据,并且支持排序、分页、筛选、编辑等功能。它的灵活性在于能够根据需求定制各种复杂的行为,如自定义列渲染、行编辑、拖放排序等。以下是一些关于EXT JS ...
在"LearningExtJS 第五章节的翻译"中,我们可以期待找到关于EXT JS Grid的详细讲解和实例应用。 EXT JS的Grid组件提供了丰富的功能,如分页、排序、过滤、编辑等,可以灵活地适应各种业务需求。以下是一些关于EXT ...
一旦定义了Grid的列和存储器,我们可以创建Grid实例并将它们关联起来: ```javascript var grid = Ext.create('Ext.grid.Panel', { store: store, columns: columns, renderTo: Ext.getBody() // 将Grid渲染到...
根据提供的文件信息,我们可以深入探讨如何在 Ext JS 中实现 Grid 的单元格合并功能。此案例主要涉及到了自定义 GridView 的 `renderHeaders` 方法来达到单元格合并的目的,并且还涉及了模板(Template)的使用、...