最近开始接触ExtJs,贴出自己的代码,一个简单的表格显示

版本 3.4.1

需要json包

代码清单1、jsp引入的ExtJs文件

 <!-- 资源文件 ExtJs 3.4. -->
<link href="ExtJs/resources/css/ext-all.css" type="text/css" rel="stylesheet"/> <script type="text/javascript" src="ExtJs/ext-all-debug-w-comments.js"></script>
<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" src="ExtJs/ext-lang-zh_CN.js"></script> <!-- 表格js文件 -->
<script type="text/javascript" src="ExtIs/viewTable.js"></script>

代码清单2 、viewTable.js文件

 /**
* 数据表格显示
*/
Ext.onReady(function (){
//多选框
var sm = new Ext.grid.CheckboxSelectionModel({
listeners:{
'selectionchange':function(obj){
var select = grid.getSelectionModel().getSelections();
}
}
});
//定义读取数据格式
var dataReader = new Ext.data.JsonReader({
totalProperty:'count',
root: 'data'
},[
{ name: 'strimgname' },
{ name: 'strostype' },
{ name: 'icpunum' },
{ name: 'imemorycapacity' },
{ name: 'idiskcapacity' }
]);
//数据源
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: 'testServlet',
method: 'GET'
}),
reader: dataReader,
sortInfo: {field: 'strostype', direction: 'DESC'},
autoLoad:false
});
store.load({params:{start:0,limit:8}});//加载数据时发送分页参数
//显示栏
var dataColumns = new Ext.grid.ColumnModel({ columns: [
new Ext.grid.RowNumberer(),//行号
sm,
{ header: "虚拟机名称",draggable:true, dataIndex: 'strimgname',sortable: true,resizable:false,
renderer:function(value, cellmeta, record,rowIndex){
return '<a href="javascript:void(0);" title="'+value+'" onclick=alert("'+record.data.strimgname+':girdID='+grid.getId()+',行下标='+rowIndex+'")>'+value+'</a>';
}},
{ header: "类型", dataIndex: 'strostype',resizable:false,sortable: true },
{ header: "CUP数量", dataIndex: 'icpunum',sortable: true},
{ header: "内存", dataIndex: 'imemorycapacity',sortable: true },
{ header: "硬盘", dataIndex: 'idiskcapacity',sortable: true }
],
defaults: {
align: 'center' }
});
//组装表格
var grid = new Ext.grid.GridPanel({
store: store,
cm: dataColumns,
renderTo: Ext.getBody(),
autoExpandColumn: 1,
stripeRows: true,
autoHeight: true,
buttonAlign:'center',
// border: false,
sm:sm,
disableSelection: true,
frame: true,
loadMask:true,// '正在加载数据,请稍侯……提示
//stripeRows: true, //斑马线效果
width: 950, title:'表格',
viewConfig: { forceFit: true }//使列自动均分
,buttons: [{
text: "重新加载"
,handler:function(){
store.load({params:{start:0,limit:8}});
alert(store.getAt())
}
}],
tbar:new Ext.Toolbar({//顶部工具栏
items:[
new Ext.form.Label({ text:'名称: ' }),
id,{
text: '查询'
}
] }),
bbar:['->',//底部工具栏
new Ext.PagingToolbar({//分页组件
pageSize:8,
store:store,
displayInfo:true,
emptyMsg:'没有数据显示'
})]
});
})

代码清单3、数据源接收的数据格式(servlet里响应的格式)

 String str = req.getParameter("limit");
String str1 = req.getParameter("start");
Test t = new Test();
List<Map<String,String >> list = t.getData(str,str1);
JSONObject obj = new JSONObject();
JSONArray js = new JSONArray();
obj.put("data", js.fromObject(list));
obj.put("count", 10); //统计数量,这里写死10条
resp.getWriter().write(obj.toString());//json格式化后输出

最后贴出效果图:

只有一个感觉,界面视图组件化,也是ExtJs的最大特点,丰富的UI

初学ExtJs 表格显示后台数据的更多相关文章

  1. EXTJS4 Grid Filter 插件的使用 与后台数据解析------Extjs 查询筛选功能的实现

    先汗一个,一个小功能又踢腾了一天.本来这个带Demo的,但是上面介绍的不是很详细.用的时候问题不大,主要问题在文件导入方面.以为这个插件的使用和其他的不一样. 1.首先是需要引入文件的位置:如图 需要 ...

  2. AFNetworking 与 gbk 编码格式后台数据的使用

    仅针,后台数据为GBK编码时的AFNetWorking 使用情况: 1. Request failed: unacceptable content-type: text/html     soluti ...

  3. 使用原生ajax访问后台数据并将其展现在前端页面中(小菜鸟自己整理玩的,大神勿喷)

    首先你要有php的环境,关于php环境的搭建,php本地站点的搭建,此处不再重复请看这里:http://www.cnblogs.com/Gabriel-Wei/p/5950465.html我们把wam ...

  4. 使用Asp.net WebAPI 快速构建后台数据接口

    现在的互联网应用,无论是web应用,还是移动APP,基本都需要实现非常多的数据访问接口.其实对一些轻应用来说Asp.net WebAPI是一个很快捷简单并且易于维护的后台数据接口框架.下面我们来快速构 ...

  5. 用ajax获取后台数据,返回json数据,怎么在前台使用?

    用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...

  6. js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台

    setInterval(function(){//ajax 请求后台数据},1000);这个是A页面的定时器然后我在A页面通过其他请求跳转到其他页面之后后台发现A页面的定时器的那个请求仍然在执行为什么 ...

  7. 【AS3】Flash与后台数据交换四种方法整理

    随着Flash Player 9的普及,AS3编程也越来越多了,所以这次重新整理AS3下几种与后台数据交换方法.1.URLLoader(URLStream)2.FlashRemoting3.XMLSo ...

  8. extjs,清空treepanel数据。

    extjs,清空treepanel数据. //调用 var rootNode = tree.getRootNode(); removeChildrenData(rootNode); //清理节点的数据 ...

  9. Echarts动态加载后台数据

    注意:1.用Ajax请求获取后台数据 2.Echarts只能处理Json数据 后台Controller:根据业务需求不同而返回不同数据,我前台要循环遍历Echarts的series进行数据添加,所以后 ...

随机推荐

  1. POJ 1321棋盘问题

    题意: 给定一个n*n(n<=8)的棋盘, 有些地方能放棋子, 有些不能. 放m个棋子, 求能使这m个棋子不同行且不同列的方案数. 分析: 用一个一维数组标记行和列, 深搜一下. #includ ...

  2. Servlet学习

    编写Servlet应该注意的一些细节: 1: 由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web ...

  3. openstack 排错

    1.查看日志 grep ERROR /var/log/keystone/keystone.log 2. # nova list ERROR:n/a (http 404) 检查环境变量是否正确.

  4. 关于我们DOM的知识点

    DOM的概念及子节点类型   前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析 ...

  5. iOS开发之 Xcode 一个工程 Project 添加多个 target

    http://www.360doc.com/content/14/1203/11/19119980_430056974.shtml# 根据项目需求,同一个工程有多个版本,每个版本只有细微的不同.所以, ...

  6. aspx后缀映射成html

    1.网站的配置文件添加如下代码: <configuration> <configSections> <section name="RewriterConfig& ...

  7. python语法笔记(一)

    1. python中多个函数或者类定义可以放在一个.py 文件中,视为一个模块.模块的.py文件中,一般要写 if __name__ == '__mian__' 用来单独执行该模块内的某些函数. 2. ...

  8. 比对工具之 BWA 使用方法

    BWA算法简介: BWA-bactrack BWA-SW BWA-MEM BWA安装: # installing BWA .tar.bz2 -C /opt/biosoft/ cd /opt/bioso ...

  9. 2016-6-15-de novo文献阅读

    准备读四篇denovo的文献: Nature Biotechnology(2015) - Sequencing of allotetraploid cotton (Gossypium hirsutum ...

  10. 【poj2728】Desert King

    [poj2728]Desert King 题意 最优比率生成树. http://blog.csdn.net/ophunter_lcm/article/details/10113817 分析 Dinke ...