`
357029540
  • 浏览: 726702 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Extjs动态生成grid

阅读更多
在Extjs中生成表格的页面数据是Extjs提供的强大功能。在这里主要是做了一个简单的从后台通过structs2获取数据显示在页面的示例。json数据在后台是通过fastjson.jar封装的。

   java代码:

   Bo类:



package com.test.bo;

import java.util.List;

public class GridBo {
private int totalProperty;
private String id;
private String name;
private List root;
public int getTotalProperty() {
  return totalProperty;
}
public void setTotalProperty(int totalProperty) {
  this.totalProperty = totalProperty;
}
public String getId() {
  return id;
}
public void setId(String id) {
  this.id = id;
}
public String getName() {
  return name;
}
public void setName(String name) {
  this.name = name;
}
public List getRoot() {
  return root;
}
public void setRoot(List root) {
  this.root = root;
}
}


action类:

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.alibaba.fastjson.JSONObject;
import com.test.bo.GridBo;

public void grid(){

//获取当前的起始行
  int start = Integer.parseInt(ServletActionContext.getRequest().getParameter("start"));

//获取每页的显示行数
  int limit = Integer.parseInt(ServletActionContext.getRequest().getParameter("limit"));
  GridBo grid = new GridBo();
  grid.setTotalProperty(100);
  List list = new ArrayList();
  String root = "";
  for(int i = start;i < start+limit;i++){
   Map obj=new HashMap();
   obj.put("id", i);
   obj.put("name", "name"+i);
   list.add(obj);
  }
  grid.setRoot(list);
  HttpServletResponse response = ServletActionContext.getResponse();
  response.setCharacterEncoding("utf-8");
  try {
   PrintWriter writer = response.getWriter();
   writer.print(JSONObject.toJSON(grid).toString());
  } catch (IOException e) {
   e.printStackTrace();
  }
}

}

jsp页面:

<html>
  <head>
     <script type="text/javascript"></script>
     <link rel="stylesheet" type="text/css" href="./ext/resources/css/ext-all.css">
     <script type="text/javascript" src="./ext/adapter/ext/ext-base.js"></script>
     <script type="text/javascript" src="./ext/ext-all.js"></script>
     <script type="text/javascript" src="./js/grid1.js"></script>
     <link rel="stylesheet" type="text/css" href="./css/menu.css">
     <script type="text/javascript">
       
     </script>
  </head>
 
  <body>
    <div id="container">
     <div id="grid"></div>
</div>
  </body>
</html>
js页面:

Ext.onReady(function(){
    var cm = new Ext.grid.ColumnModel([
   {header:'编号',dataIndex:'id',width:50,sortable:true},
   {header:'名称',dataIndex:'name',width:100,sortable:true}
]);
var store = new Ext.data.Store({
     proxy:new Ext.data.HttpProxy({url:'function_grid.action'}),
     reader:new Ext.data.JsonReader({
         totalProperty:'totalProperty',
         root:'root',
         fields:[
           {name:'id'},
           {name:'name'}
         ]})
});
var grid = new Ext.grid.GridPanel({
     renderTo:'grid',
     store:store,
     cm:cm,
     autoWidth:true,
     autoHeight:true,
     stripeRows:true,
     loadMask:true,
     viewConfig:{
      forceFit:true,
      enableRowBody:true,
      columnsText:'显示的列',
      sortAscText:'升序',
      sortDescText:'降序',
      scrollOffset:1
     },
     bbar:new Ext.PagingToolbar({
        pageSize:10,
        store:store,
        displayInfo:true,
        displayMsg:'显示第{0}条到{1}条记录,一共{2}条',
        emptyMsg:'没有记录'
     })
});
store.load({params:{start:0,limit:10}});
});

效果图如下:
分享到:
评论

相关推荐

    ASP.NET结合EXTJS动态生成Grid列表的例子程序源码

    ASP.NET结合EXTJS动态生成Grid列表的例子程序源码

    Extjs动态Grid的生成 htm

    Extjs动态Grid的生成 htm

    ExtJs动态grid的生成

    NULL 博文链接:https://dejazhan.iteye.com/blog/871259

    ASP.NET结合EXTJS动态生成Grid列表的演示

    内容索引:.NET源码,Ajax相关,EXTjs 结合EXTJS类库动态生成Grid数据列表的演示,如果你没有配置数据库信息,那么程序运行时会自动弹出数据安装窗口,安装完成就可以查看演示了,基于EXT风格的Ajax数据列表,简洁实用...

    Extjs4.2 Grid filter Demo 表格过滤实验

    这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》

    ExtJs grid导出Excel

    本人亲测在 ExtJs4.2 上可用,有两种实现导出Excel的 方法,资源内附简单的使用说明。因本人没多少资源分了,所以万不得已设置 资源分为 2 分。

    ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox

    需要做一个控制grid列显示的checkboxgroup,虽然EXTJS4中的gridpanel自带列表可以来控制列的显示隐藏,需要的朋友可以参考下

    ExtJS4 动态生成的grid导出为excel示例

    解决了一个表格不能重复下载的小BUG,一个使用grid初始化发生的BUG 下面记录一下步骤。说不定下次还有用 1.下载需要用到js代码,我已经上传 2.在你的html文件中加入引用,路径问题自己 注意下,下面是我的路径 代码...

    extjs4如何自动生成掌握grid的列显示、隐蔽的checkbox_.docx

    extjs4如何自动生成掌握grid的列显示、隐蔽的checkbox_.docx

    extjs2.2.1

    自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。 再加上可编辑grid,添加新行,删除一或多行,提示多行数据,推拽改变...

    ext.net-extjs

    自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。 再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变...

    EXTJS开发文档

    自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。 再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变...

    EXTJS 3.3.1例子

     自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。  再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽...

    extjs3.2 资源包文件

    自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。 再加上可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变...

    ExtJS(ajax框架) 4.2.1

    自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。 再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变...

    Extjs中文文档.pdf

     自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。  再加上可编辑grid,添加新行,删除一或多行,提示脏数据,推拽...

    extjs4.0开发技术文档

    自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。 再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变...

    ExtJS 4.2.0

    自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。 再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变...

Global site tag (gtag.js) - Google Analytics