最近开始接触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. maven2 配置M2_REPO

    从eclipse中增加了maven2的插件之后,maven默认的本地库的路径是${user}/.m2/repository/下,一般windows用户的操作系统都安装在C盘,所以这个目录 下的jar包 ...

  2. CSS的基本操作

    <html> <!-- . 给整个页面填一个一个背景 . 给em添加一个样式样倾斜效果消失 . 改变第一层UL的样式为蓝色,16px . 改变第二层的UL的样式为红色 14px . ...

  3. jQuery中的遍历

    在原生javascript中我们用的最多的遍历就是for,但是在jQuery里面有个方法比for还有强大,它就是我们经常看到的each()方法,当然了如果考虑性能方面的话还是建议用for来进行元素的遍 ...

  4. SQL 总结

    1. select 使用正则表达式 正则表达式的模式串, 与linux基本相同, oracle提供以下4个函数来支持正则表达式: REGEXP_LIKE: 比较一个字符串是否与正则表达式匹配(看来是返 ...

  5. mysql 执行计划的理解

    1.执行计划就是在sql语句之前加上explain,使用desc 也可以.2.desc有两个选项extended和partitions,desc extended 将原sql语句进行优化,通过show ...

  6. Memcache的安装

    下载安装包: wget http://www.memcached.org/files/memcached-1.4.32.tar.gz wget https://cloud.github.com/dow ...

  7. iOS开发之APP推送设置WIFI

    在iOS开发过程中,有时需要连接网络.当访问请求,检测到网络不可用时,需要提示用户手动进行设置网络并告知用户操作路径设置可用的网络. 只需一行代码即可实现: - (void)viewDidLoad { ...

  8. velocity基础教程--1.标准使用(zhuan)

    http://llying.iteye.com/blog/387253 **************************** velocity是一个非常好用的模板引擎 这里不对项目进行详细介绍,可 ...

  9. python自定义函数大全

    写的零碎的python脚本太多了,到一定阶段就会出现一个问题,即以前写过的脚本找不到了,现在临时要用,还得再重写一遍,这就非常难受了,代码不能复用. 还好我有一个比较好的习惯,我喜欢把python脚本 ...

  10. 任务栏右键工具栏里的语言栏没有的修复.reg

    任务栏右键工具栏里的语言栏没有的修复.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{540D8A8B-1C3F- ...