extjs.jsp: 前台页面<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<!--引入样式 -->
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<!--引入适配器 -->
<script type="text/javascript" src="extjs/ext-base.js"></script>
<!--引入主文件 -->
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script type="text/javascript">
//一切函数,必须在 Ext.onReady(GridBasic); //开始执行
function GridBasic() {
var sm=new Ext.grid.CheckboxSelectionModel(); var cm=new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
sm,
{header:'编号',dataIndex:'id',sortable:true},
{header:'性别',dataIndex:'sex',sortable:true,renderer:renderSex},
{header:'名称',dataIndex:'name',sortable:true},
{header:'描述',dataIndex:'descn',sortable:true,renderer:renderDesc}
]);
function renderSex(value){
if(value=='male'){
return"<span style='color:red;font-weight:bold;'>红男</span>";
}else{
return"<span style='color:green;font-weight:bold;'>绿女</span>";
}
}
function renderDesc(value,cellmeta,record,rowIndex,columnIndex,store){
var str="<input type='button' value='查看详细信息' onclick='alert(\"" + "这个单元格的值是:" + value + "\\n" + "这个单元格的配置是:{cellId:" + cellmeta.cellId + ",id:" + cellmeta.id + ",css:" + cellmeta.css + "}\\n" + "这个单元格对应的record是: " + record.data['id'] + ",一行的数据都在里面\\n" + "这里是第" + rowIndex + "行\\n" + "这里是第" + columnIndex + "列\\n" + "这个单元格对应的是Ext.data.Store在这里:" + store + "随便用吧。" + "\")'>";
return str;
} var data = [
['1','male','name','descn1'],
['2','female','name2','descn2'],
['3','male','name3','descn3'],
['4','female','name4','descn4'],
['5','male','name5','descn5']
];
var ds = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({url:'index.jsp'}),
reader : new Ext.data.JsonReader({
totalProperty : 'totalProperty',
root : 'root'
}, [
{name:'id'},
{name:'sex'},
{name:'name'},
{name:'descn'}
])
});
var grid=new Ext.grid.GridPanel({
el : 'grid',
ds : ds,
cm : cm,
sm : sm,
height : 300,
width : 800,
bbar : new Ext.PagingToolbar({
pageSize : 10,
store : ds,
displayInfo : true,
displayMsg : '显示第{0}条到{1}条记录,一共{2}条', emptyMsg : '没有记录'
} )
});
ds.load({params:{start:0,limit:10}});
grid.render();
//分页控件必须放在grid.render() 之后。 }
Ext.onReady(GridBasic); //开始执行
</script>
</HEAD> <BODY>
<div id='grid' style='height:600;width:800;' ></div>
</BODY>
</HTML>index.jsp 后台jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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>Insert title here</title>
</head>
<body>
<%
String start = request.getParameter("start"); //获取参数,从第几个参数开始显示。
String limit = request.getParameter("limit"); //获取参数,从第几个参数开始显示,limit 一共要显示多少条数据。当然返回的数据可能会小于这个值。
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 + ",sex:'male" +"',name:'name" + i +"',descn:'descn" + i +"'}";
if(i!=pageSize+index-1){
json += ",";
}
}
json += "]}";
response.getWriter().write(json);
}catch(Exception e){
}finally{
}
%>
</body>
</html>我用的是ext-3.0.0的库文件,后台jsp页面得出了json字符串。
{totalProperty:100, root:[
{id:0,sex:'male',name:'name0',descn:'descn0'},
{id:1,sex:'male',name:'name1',descn:'descn1'},
{id:2,sex:'male',name:'name2',descn:'descn2'},
{id:3,sex:'male',name:'name3',descn:'descn3'},
{id:4,sex:'male',name:'name4',descn:'descn4'},
{id:5,sex:'male',name:'name5',descn:'descn5'},
{id:6,sex:'male',name:'name6',descn:'descn6'},
{id:7,sex:'male',name:'name7',descn:'descn7'},
{id:8,sex:'male',name:'name8',descn:'descn8'},
{id:9,sex:'male',name:'name9',descn:'descn9'}
]}
可是前台没有显示出数据,表格为空。
各位大侠,有Ext的前辈,帮我看看错误,感激不尽。
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<!--引入样式 -->
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<!--引入适配器 -->
<script type="text/javascript" src="extjs/ext-base.js"></script>
<!--引入主文件 -->
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script type="text/javascript">
//一切函数,必须在 Ext.onReady(GridBasic); //开始执行
function GridBasic() {
var sm=new Ext.grid.CheckboxSelectionModel(); var cm=new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
sm,
{header:'编号',dataIndex:'id',sortable:true},
{header:'性别',dataIndex:'sex',sortable:true,renderer:renderSex},
{header:'名称',dataIndex:'name',sortable:true},
{header:'描述',dataIndex:'descn',sortable:true,renderer:renderDesc}
]);
function renderSex(value){
if(value=='male'){
return"<span style='color:red;font-weight:bold;'>红男</span>";
}else{
return"<span style='color:green;font-weight:bold;'>绿女</span>";
}
}
function renderDesc(value,cellmeta,record,rowIndex,columnIndex,store){
var str="<input type='button' value='查看详细信息' onclick='alert(\"" + "这个单元格的值是:" + value + "\\n" + "这个单元格的配置是:{cellId:" + cellmeta.cellId + ",id:" + cellmeta.id + ",css:" + cellmeta.css + "}\\n" + "这个单元格对应的record是: " + record.data['id'] + ",一行的数据都在里面\\n" + "这里是第" + rowIndex + "行\\n" + "这里是第" + columnIndex + "列\\n" + "这个单元格对应的是Ext.data.Store在这里:" + store + "随便用吧。" + "\")'>";
return str;
} var data = [
['1','male','name','descn1'],
['2','female','name2','descn2'],
['3','male','name3','descn3'],
['4','female','name4','descn4'],
['5','male','name5','descn5']
];
var ds = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({url:'index.jsp'}),
reader : new Ext.data.JsonReader({
totalProperty : 'totalProperty',
root : 'root'
}, [
{name:'id'},
{name:'sex'},
{name:'name'},
{name:'descn'}
])
});
var grid=new Ext.grid.GridPanel({
el : 'grid',
ds : ds,
cm : cm,
sm : sm,
height : 300,
width : 800,
bbar : new Ext.PagingToolbar({
pageSize : 10,
store : ds,
displayInfo : true,
displayMsg : '显示第{0}条到{1}条记录,一共{2}条', emptyMsg : '没有记录'
} )
});
ds.load({params:{start:0,limit:10}});
grid.render();
//分页控件必须放在grid.render() 之后。 }
Ext.onReady(GridBasic); //开始执行
</script>
</HEAD> <BODY>
<div id='grid' style='height:600;width:800;' ></div>
</BODY>
</HTML>index.jsp 后台jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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>Insert title here</title>
</head>
<body>
<%
String start = request.getParameter("start"); //获取参数,从第几个参数开始显示。
String limit = request.getParameter("limit"); //获取参数,从第几个参数开始显示,limit 一共要显示多少条数据。当然返回的数据可能会小于这个值。
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 + ",sex:'male" +"',name:'name" + i +"',descn:'descn" + i +"'}";
if(i!=pageSize+index-1){
json += ",";
}
}
json += "]}";
response.getWriter().write(json);
}catch(Exception e){
}finally{
}
%>
</body>
</html>我用的是ext-3.0.0的库文件,后台jsp页面得出了json字符串。
{totalProperty:100, root:[
{id:0,sex:'male',name:'name0',descn:'descn0'},
{id:1,sex:'male',name:'name1',descn:'descn1'},
{id:2,sex:'male',name:'name2',descn:'descn2'},
{id:3,sex:'male',name:'name3',descn:'descn3'},
{id:4,sex:'male',name:'name4',descn:'descn4'},
{id:5,sex:'male',name:'name5',descn:'descn5'},
{id:6,sex:'male',name:'name6',descn:'descn6'},
{id:7,sex:'male',name:'name7',descn:'descn7'},
{id:8,sex:'male',name:'name8',descn:'descn8'},
{id:9,sex:'male',name:'name9',descn:'descn9'}
]}
可是前台没有显示出数据,表格为空。
各位大侠,有Ext的前辈,帮我看看错误,感激不尽。
解决方案 »
- js能做这种效果吗?
- JavaScript开发----您人生的正确抉择
- 关于 CheckBox全选的问题..请大家看看我的JS哪写错了...
- 有办法检查ie禁用或启用了javascript
- 求个脚本,将select的text传送到焦点的文本框
- 可不可以用javascript实现下载当前页面?
- 怎么实现点击过的文字链接颜色有变化?让人知道他看过这个帖子。
- 请问如何用程序模拟鼠标左键?比如点击一个按钮。 ~急~急~急~急~
- 关于下拉框的选项问题?
- BUTTON按钮 提交后 弹出提示 并打开网页!
- Google Doc表格里面那个编辑问题的控件是怎么做的?
- 跪求啊,这个jquery效果要怎样兼容ie6啊?
{name:'id'},
{name:'sex'},
{name:'name'},
{name:'descn'}
])
改写成 }, fields:[
{name:'id'},
{name:'sex'},
{name:'name'},
{name:'descn'}
])