刚刚学习Extjs,用Extjs做个了分页的小例子,有什么不对的地方请指出
<title>分组列表</title>
<link rel="stylesheet" type="text/css" href="Extjs/resources/css/ext-all.css">
<script type="text/javascript" src="Extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="Extjs/ext-all.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var userStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy( {
url : 'groups.do?method=groupsQuery'// 设置代理请求的url
}),
reader : new Ext.data.JsonReader({
totalProperty : 'results',
root : 'items',
id : 'row_id'
},
['row_id','name','createid','createtime','updateid','updatetime'])
});
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),sm,{
header : '编号',
width : 30,
dataIndex : 'row_id',
sortable : true
},{
header : '分组名',
width : 40,
dataIndex : 'name',
sortable : true
},{
header : '创建时间',
width:50,
dataIndex : 'createtime',
sortable : true
},{
header : '更新时间',
width : 50,
dataIndex : 'updatetime',
sortable : true
}
]);
var userGrid = new Ext.grid.GridPanel({
applyTo : 'user-grid-div',// 设置表格现实位置
frame : true,// 渲染表格面板
//tbar : toolbar,// 设置顶端工具栏
stripeRows : true,// 显示斑马线
autoScroll : true,// 当数据查过表格宽度时,显示滚动条
store : userStore,// 设置表格对应的数据集
loadMask : true,
autoHeight : true,
autoWidth : true,
viewConfig : {
autoFill : true
},
cm : cm,
sm : sm,
bbar : new Ext.PagingToolbar({
pageSize : 5,
store : userStore,
displayInfo : true,
beforePageText:'第',
afterPageText:'页 共{0}页',
displayMsg:'显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg : '没有记录',
firstText:'首页',
prevText:'上一页',
nextText:'下一页',
lastText:'末页',
refreshText:'刷新'
})
});
userStore.reload({
params:{start:0,limit:5}
})
})
</script>
</head>
<body>
<div id = "user-grid-div" style="width:100%; height:100%;"></div>
</body>
</html>
public List getGroupsQuery(Connection con,int start,int end) throws SQLException{
List list = new ArrayList();
Statement st = con.createStatement();
//String sql = "select * from groups";
String sql = "select * from groups limit "+start+","+end;
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
Groups groups = new Groups();
groups.setRow_id(rs.getString("row_id"));
groups.setName(rs.getString("name"));
groups.setUpdateid(rs.getString("updateid"));
groups.setUpdatetime(rs.getString("updatetime"));
groups.setCreateid(rs.getString("createid"));
groups.setCreatetime(rs.getString("createtime"));
list.add(groups);
}
rs.close();
st.close();
return list;
}
public int getGroupsCount(Connection con) throws SQLException{
Statement st = con.createStatement();
String sql = "select count(1) from groups";
ResultSet rs = st.executeQuery(sql);
int totalCount = 0;
while(rs.next()){
totalCount = rs.getInt(1);
}
rs.close();
st.close();
return totalCount;
}
private groupsDaoImpl gDao = new groupsDaoImpl();
public List getUserQuery(int start,int end){
List list = null;
Connection con = null;
try {
con = DBCon.getConnection();
//list = uDao.getUserQuery(con);
list = gDao.getGroupsQuery(con, start, end);
} catch (Exception e) {
list = new ArrayList();
e.printStackTrace();
}finally{
try {
if(con!=null){con.close();}
} catch (Exception e) {e.printStackTrace();}
}
return list;
}
public int getGroupsCount(){
int totalCount = 0;
Connection con = null;
try {
con = DBCon.getConnection();
//list = uDao.getUserQuery(con);
totalCount = gDao.getGroupsCount(con);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(con!=null){con.close();}
} catch (Exception e) {e.printStackTrace();}
}
return totalCount;
}
private groupsBiz gBiz = new groupsBiz();
public ActionForward groupsQuery(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception{
int start = Integer.parseInt(request.getParameter("start"));
int end = Integer.parseInt(request.getParameter("limit"));
System.out.println("start"+start);
List groups = gBiz.getUserQuery(start,end);
int totalCount = gBiz.getGroupsCount();
/*
int pager = Integer.valueOf(start);
List groups = gBiz.getUserQuery();
List list =new ArrayList();
if(pager==0){
if(groups.size()>5){
for(int i=0;i<5;i++){
list.add(groups.get(i));
}
}else{
for(int i=0;i<groups.size();i++){
list.add(groups.get(i));
}
}
}else{
int num = pager+5;
if(groups.size()>num){
for(int i=pager; i<num;i++){
list.add(groups.get(i));
}
}else{
for(int i=pager; i<groups.size();i++){
list.add(groups.get(i));
}
}
}
*/
JSONObject jsonObject = ExtHelper.getJsonFromList(totalCount,groups);
System.out.println("json格式:"+jsonObject);
response.setContentType("text/jsom;charset=UTF-8");
response.getWriter().write(jsonObject.toString());
return null;
}
分享到:
相关推荐
本项目“php+Extjs+mysql实例”正是这样一个综合性的应用,它结合了三种技术,即PHP作为后端服务器语言,MySQL作为数据库管理系统,以及ExtJS作为前端JavaScript框架,实现了合同信息的全面管理功能,包括添加、修改...
ExtJs4.2+Mysql+Struts2+Hibernate3实现分页查询 1.libs目录缺少hibernate核心jar包 2.libs目录缺少struts jar 3.WebRoot目录缺少ExtJs4.2核心类库 以上信息我都在项目里面注明了,因为这些内容的文件太大了,CSDN不...
在“extjs-java-mysql通用后台”这个项目中,开发者通常会定义一系列RESTful API接口,这些接口由Java Spring处理,EXTJS前端通过AJAX调用这些接口,实现数据的增删改查和页面的动态更新。同时,为了保证系统的安全...
ExtJS 提供了灵活的数据绑定机制,可以方便地与后台数据源进行交互,实现动态加载和实时更新。不过,描述中提到按时间条件的查询尚未完成,这可能需要扩展 `PersonSearch` 组件,添加日期选择器,并处理相应的请求...
在本实例中,我们将讨论如何结合ExtJS与PHP实现分页功能。 分页是网页应用中常见的一种数据展示方式,尤其当处理大量数据时,它能够提高用户体验,避免一次性加载过多数据导致页面加载缓慢。ExtJS提供了强大的分页...
EXTJS的Grid组件是一种强大的数据展示工具,可以轻松地处理大量数据,并提供灵活的排序、筛选和分页功能。 首先,我们需要理解PHP在其中的角色。PHP是一种广泛使用的服务器端脚本语言,特别适合于处理动态内容和与...
开发者可以添加监听器来响应这些事件,实现动态更新、数据验证等业务逻辑。 7. **样式和布局**:ExtJS提供了丰富的样式和布局管理,使得应用具有良好的用户体验。Grid的列宽、颜色、样式等都可以自定义。 通过这个...
1.使用ExtJS6.5.0+SSM 2.实现Grid表格的增删改查和分页,数据库使用的是MySql, 3.项目代码和数据脚本齐全 4.Jar齐全,加载即可运行 5.VX:humingxing可随时交流
- **分页查询**:为了提高性能和用户体验,大量数据通常需要分页显示,这可能通过SQL的LIMIT和OFFSET实现,或者使用第三方库如MyBatis的PageHelper。 6. 视图: - **MVC中的View**:负责将数据呈现给用户,可能是...
- 统计图表:Extjs的Charts模块可以生成各种动态图表,如柱状图、饼图、线图等,方便数据可视化。 - 表单:FormPanel组件用于创建交互式的表单,可以包含各种输入控件,如文本框、选择框、日期选择器等。 5. **...
- 使用SQL查询语句实现分页,例如`LIMIT`和`OFFSET`在MySQL中,或`SELECT ... FROM ... WHERE ROWNUM BETWEEN ... AND ...`在Oracle中。 - 数据库查询的结果应转换为JSON格式,并在响应体中返回。 4. **数据绑定*...
这是一个用EXT.NET+Entity FrameWork+Mysql 做的后台管理系统,最初是为一个项目做的,后来项目烂尾,代码也就没用了。但系统的整体框架、数据库的增删改查、分页、等功能都是完成了的。可以用于同类的项目,这套...
最近在自学Extjs,做了一个小例子,后台使用SSH,前台是ExtJs,其中包含了很多内容,例如grid,TreeGrid,comboxTree,分页等内容,数据库采用的是mysql,文件中包含了数据库文件,导入mysql数据库即可,希望可以对初学者有一点...
这个系统结合了JSP(JavaServer Pages)作为后端动态网页技术,以及ExtJS作为前端富客户端框架,实现了功能丰富的用户界面和强大的数据处理能力。 【描述】该系统采用MVC(Model-View-Controller)设计模式,使得...
在"extjs入门项目+数据库"中,我们聚焦于如何使用ExtJS来构建一个图书管理系统,并结合Java后端和MySQL数据库实现数据的存储与管理。 **ExtJS框架** ExtJS 提供了一整套组件化的UI元素,如表格、表单、面板、菜单等...
采用SSH架构实现<深入浅出ExtJs>实例,系统包括:表格,分页,表单,表格与表单的关联等等,是初学者必不可少的学习资料,经本人实际测试通过。
采用SSH架构实现<深入浅出ExtJs>实例,系统包括:表格,分页,表单,表格与表单的关联等等,是初学者必不可少的学习资料,经本人实际测试通过。
2. 分页模块:ListView、PageView和QueryResult用于ExtJS的后台分页处理。 3. 数据字典:SystemInitListener加载XML格式的数据字典,供系统内部调用。 4. 登录管理:LoginFilter处理登录状态,防止未登录用户访问...
2. ListView、PageView 和 QueryResult:作为 ExtJS 的后台分页模块。 3. SystemInitListener:加载以 XML 格式的数据字典,放进内存供调用。 4. LoginFilter:处理登录各种情况,将 session 为 null 的操作重定向...
同时,系统支持MySQL、Oracle和SQL Server等多种数据库,通过Hibernate的Dialect机制实现了数据库的平滑迁移。 在代码结构上,系统采用了分层设计,包括BaseParameter、ExtJSBaseController、BaseService和BaseDao...