初学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进行数据添加,所以后 ...
随机推荐
- 关于Android构建
“IDE都是给小白程序员的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定” 这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命 ...
- php提高程序效率的24个小技巧
本文转自<php必须知道的300个问题>一书,在此记录方便以后查看 (1)用单引号代替双引号来包含字符串,这样做会更快些.因为php会在双引号包围的字符串中搜寻变量,单引号则不会.注意:只 ...
- More Effective C++ (1)
简单分析总结了more effective c++ 的前十个条款: 剩下的条款to be continue~ 1.仔细区分指针和引用引用必须不能指向空,指针可以指向空,指针初始化是记得赋空值,重载某些 ...
- 浅谈Android手机木马手工查杀
这篇文章主要是浅谈,所以会从简单方面开始讲起. 关于手机木马查杀,有些人会说安装手机杀毒软件不就解决了吗? 其实不然.因为手机和PC不一样,手机反木马技术没有PC端那么强. 就算你把目前市面上的所有手 ...
- 对象导论 Thinking in Java 第一章
1.1 抽象过程 1.人们能够解决问题的复杂性直接取决于抽象的类型和质量. 1.2 每个对象都有一个接口 1.3 每个对象都提供服务 1.4 被隐藏的具体实现 1.程序猿分为:类创建者 和 客户端程序 ...
- JavaWeb学习总结(十四)--Apache的DBUtils
一.commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化 ...
- c++中vector的学习
根据各种做题,发现数组并不是很适用于各种情况,当涉及到内存占用的时候,数组可能就没有vector的优势了,而vector,动态数组,比较适合某些情况. 接下来看看比较基本的vector用法: 1 #i ...
- golang csv,xls,xlsx
要用到的包: "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform ...
- aliyun CentOS6.5 上 svn 安装笔记
为了方便管理自己的一些学习资料.总结等,在CentOS6.5上安装SVN,记录过程如下: 1.1 安装方式 独立服务器 fsfs SVN服务器有2种运行方式:独立安装.SVN+Apache.独立 ...
- azure git 托管
azure git上传部署步骤:(首次提交)cd 至本地代码路径git initgit add .git commit –m "initial commit"git remote ...