初学ExtJs 表格显示后台数据
最近开始接触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 表格显示后台数据的更多相关文章
- EXTJS4 Grid Filter 插件的使用 与后台数据解析------Extjs 查询筛选功能的实现
先汗一个,一个小功能又踢腾了一天.本来这个带Demo的,但是上面介绍的不是很详细.用的时候问题不大,主要问题在文件导入方面.以为这个插件的使用和其他的不一样. 1.首先是需要引入文件的位置:如图 需要 ...
- AFNetworking 与 gbk 编码格式后台数据的使用
仅针,后台数据为GBK编码时的AFNetWorking 使用情况: 1. Request failed: unacceptable content-type: text/html soluti ...
- 使用原生ajax访问后台数据并将其展现在前端页面中(小菜鸟自己整理玩的,大神勿喷)
首先你要有php的环境,关于php环境的搭建,php本地站点的搭建,此处不再重复请看这里:http://www.cnblogs.com/Gabriel-Wei/p/5950465.html我们把wam ...
- 使用Asp.net WebAPI 快速构建后台数据接口
现在的互联网应用,无论是web应用,还是移动APP,基本都需要实现非常多的数据访问接口.其实对一些轻应用来说Asp.net WebAPI是一个很快捷简单并且易于维护的后台数据接口框架.下面我们来快速构 ...
- 用ajax获取后台数据,返回json数据,怎么在前台使用?
用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...
- js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台
setInterval(function(){//ajax 请求后台数据},1000);这个是A页面的定时器然后我在A页面通过其他请求跳转到其他页面之后后台发现A页面的定时器的那个请求仍然在执行为什么 ...
- 【AS3】Flash与后台数据交换四种方法整理
随着Flash Player 9的普及,AS3编程也越来越多了,所以这次重新整理AS3下几种与后台数据交换方法.1.URLLoader(URLStream)2.FlashRemoting3.XMLSo ...
- extjs,清空treepanel数据。
extjs,清空treepanel数据. //调用 var rootNode = tree.getRootNode(); removeChildrenData(rootNode); //清理节点的数据 ...
- Echarts动态加载后台数据
注意:1.用Ajax请求获取后台数据 2.Echarts只能处理Json数据 后台Controller:根据业务需求不同而返回不同数据,我前台要循环遍历Echarts的series进行数据添加,所以后 ...
随机推荐
- js 函数-Tom
函数类型 在ECMAScript 中有三种函数类型:函数声明,函数表达式和函数构造器创建的函数.每一种都有自己的特点. 函数声明 函数声明(缩写为FD)是这样一种函数: 有一个特定的名称 在源码中的位 ...
- Python学习(8)字符串
目录 Python 字符串 Python 访问字符串中的值 Python 字符串更新 Python 转义字符 Python 字符串运算符 Python 字符串格式化 Python 三引号 Unicod ...
- JavaWeb学习总结(一)—JavaWeb开发入门及环境搭建
一.基本概念 1.1.软件体系结构 1.C/S:Client/Servlet,例如QQ就是CS结构需要编写服务器端程序和客户端程序.缺点:更新需要两端,总要求客户下载新的客户端程序优点:安全性比较好2 ...
- N-Queens II
Description: Follow up for N-Queens problem. Now, instead outputting board configurations, return th ...
- Android的启动模式(上)
1. 基本介绍 大家平时只要懂一点Android知识的话,都一定会知道,一个应用的组成,往往包含了许多的activity组件,每个activity都应该围绕用户的特定动作进行跳转设计.比如说,一个电话 ...
- C++ 11 右值引用
C++11中引入的一个非常重要的概念就是右值引用.理解右值引用是学习“移动语义”(move semantics)的基础.而要理解右值引用,就必须先区分左值与右值. 注意:左值右值翻译可能有些问题 *L ...
- 在beforeAction里redirect无效,Yii2.0.8
我是在官方GitHub上得到回答,试了一下,确实解决问题了.之前的问题描述: 之前是2.0.3,然后用composer直接升级到2.0.8,就不正常了,以为是我代码的问题,于是再次尝试 用compos ...
- jQuery数组的遍历 function的加载
加载函数时会被覆盖在jQuery中给提供的方案有三种形式 js中只能绑定一个方法 如果多次绑定后者会覆盖前者 最常用的一种 在jQuery中数组的遍历 使用map遍历数组 会返回一个新的数组 如果 ...
- wampserver2.5安装 redis缓存,igbinary, phalcon框架
wampserver2.5安装 redis缓存,igbinary, phalcon框架 根据phalconphp说明文件,先将dll文件拖入到:安装盘:\wamp\bin\php\php5.5.12\ ...
- 索引器(C# 编程指南)
原文地址:https://msdn.microsoft.com/zh-cn/library/6x16t2tx(VS.80).aspx 索引器允许类或结构的实例按照与数组相同的方式进行索引.索引器类似于 ...