Extjs定时操作
查看api可知:
// 启动一个简单的时钟任务,每秒执行一次更新一个
div var task = {
run: function(){
Ext.fly('clock').update(new Date().format('g:i:s A'));
},
interval: 1000 //1秒
}
Ext.TaskManager.start(task);
1,Extjs如何隔一段时间操作一次
可以看出task是一个 var,通过设置interval隔一段时间操作一次
2,实现的功能效果图:

view层代码:
Ext.define('ExtApp.view.StudentMonitor' , {
extend : 'Ext.grid.Panel' ,
id : 'StudentMonitorGrid' ,
xtype : 'StudentMonitor' ,
store : 'StudentMonitor' ,
draggable:false, //设置为false则禁用拖拽改变列顺序、
columnLines:true,//添加列的框线样式
viewConfig: {
stripeRows:true //True来实现隔行换颜色
},
tbar : [{
xtype : 'form',
width : '100%',
id : 'FormMonitor',
items : [{
xtype : 'container',
padding : 5,
flex : 2,
layout : {
type : 'hbox'
},
items : [{
xtype : 'button',
id : 'btnOnMonitor',
text : '打开学生监控'
},{
xtype : 'button',
id : 'btnOffMonitor',
text : '关闭学生监控'
},{
padding:5,
xtype:'container',
flex:1,
anchor:'100%',
layout:{
type:'hbox',
pack:'end'
},
items:[{
xtype:'button',
id:'btnEmptyMonitor',
text:'全部清空'
}]
}]
}]
}],
columns : [
//{xtype:'rownumberer',text:'序号',flex:1, align:'center'},
{text:'账户ID' , flex:1 , align:'center' , dataIndex:'userCode'},
{text:'用户姓名' , flex:1 , align:'center' , dataIndex:'userName'},
{text:'年级' , flex:1 , align:'center' , dataIndex:'gradeName'},
{text:'时间' , flex:2 , align:'center' , dataIndex:'time' },
{header: "测试记录", align:"center",flex:2,
renderer:function(value){
return '<font size="3" color="red">该同学已经5分钟没有操作屏幕</font>';
}
},
{xtype: 'actioncolumn' , //这里是放按钮的地方
header: '操作' ,
width: 50 ,
flex : 1 ,
align:'center',
items: [{
icon : 'images/user_delete.png' , //删除图标
tooltip : '删除账户' ,
handler : function(grid, rowIndex, colIndex){
console.log(rowIndex);
var store = grid.getStore();
console.log(store.getAt(rowIndex));
store.removeAt(rowIndex);
grid.updateLayout();
}
}]
}],
dockedItems:[{
xtype: 'pagingtoolbar',
store : 'StudentMonitor' , // GridPanel中使用的数据
dock: 'bottom',
displayInfo: true
}]
});
controller层代码:
onMonitor:function(btn,event){
var grid=Ext.getCmp('StudentMonitorGrid');
var store=this.getStore('StudentMonitor');
var pageBar = grid.down('pagingtoolbar');
pageBar.moveFirst();
task={
run:function(){
Ext.Ajax.request({
url: 'getMessages.action',
callback:function(options,success,response){
console.log(response);
console.log(response.responseText);
console.log(Ext.decode(response.responseText));
console.log(Ext.decode(response.responseText).rows);
var data = Ext.decode(response.responseText).rows;
for(var i in data){
console.log(data[i]);
store.add({
userCode:data[i].userCode,
userName:data[i].userName,
time:data[i].time,
gradeName:data[i].gradeName
})
}
}
})
},
interval:1000
};
Ext.TaskManager.start(task);
} ,
32 var task;

3,如何删除store为本地grid的一行?
通过grid带的函数handler可以找到rowIndex,通过Store.removeAt(rowIndex);

Store操作返回后台时候:
通过Ext.Ajax.request执行即可
4,Extjs中decode使用
通过把response打印出来,可以看出我们需要的是responseText,由于返回的是一个Jason格式字符串
我们需要使用decode,可以看api:decode( String json, Boolean safe ) : Object,,传入是一个Jason,出来是个object
通过打印 console.log(Ext.decode(response.responseText)); 我们发现,返回了"rows"和"results",我们取得rows,返回的是是一个数组,通过 for(var i in data)取到数组里面的值
为啥不decode就不行?
只有返回的是Object才可以通过 .取值
例如:
5,extjs怎样在gird中添加一行?
store.add()
参考资料:http://blog.csdn.net/itlwc/article/details/7868626
var record = store.getAt(index);
store.add(
new MyRecord({
name : 'lwc',
age : 18
})
);
Extjs定时操作的更多相关文章
- C# 创建Windows服务。服务功能:定时操作数据库 (转)
C# 创建Windows服务.服务功能:定时操作数据库 一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在S ...
- extjs gridpanel 操作行 得到选中行
extjs gridpanel 操作行 得到选中行的列 在Extjs 3.2.0上适合 var model = grid.getSelectionModel(); model.selectAll(); ...
- ExtJS定时和JS定时
ExtJS定时 //定时刷新待办事宜状态 var task={ run:function(){ //执行的方法或方法体 }, interval:5*60*1000 //5分钟 } //定时启动 Ext ...
- Extjs DOM操作的几个类
Extjs提供了非常完善的DOM操作方法,可以方便的操作DOM.另外Extjs还可以方便的查询DOM元素,并把这些DOM元素封装成Ext.Element对象,通过Element对象我们可以操作DOM元 ...
- 执行Sqlserver中waitfor delay延时操作或waitfor time定时操作
private static string connectionString = RBAC.Dal.DataRootBase.ConnectionString; private SqlConnecti ...
- Spring 定时操作业务需求
1.定时分析 在业务需求中有的需要检测用户的状态,通过对用户状态的检测做出对此状态相应的操作,如果这种检测由运营人工检测,不仅工作量大,而且准确性不高,人工无法很好的完成工作: 问题根源:在检测用户状 ...
- shell脚本定时操作数据库
一.数据库脚本(mysql.sh) Linux环境下,定时将数据库A的表格复制到数据库B中 #!/bin/bash mysql_host="127.0.0.1" mysql_use ...
- 关于linux定时操作cron的理解
cron是服务名称,crond是后台进程(有的后台也叫作cron,本人是ubuntu12.04,32bit),crontab则是定制好的计划任务表. 软件包安装: 要使用cron服务,先要安装vixi ...
- djang-异步——定时操作
django本身是一个同步框架,flask也是,所以要把它变成异步操作的话还得专门设置一下 我的这个系统呢是windows系统,python3.7的 所以有的库是不可以兼容的 ,然后到时候会稍微修改一 ...
随机推荐
- luogu2827 蚯蚓
题目大意 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」= [3.9」=3. 蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓 ...
- Linux/Android——Input系统之InputReader (七)【转】
本文转载自:http://blog.csdn.net/jscese/article/details/42739197 在前文Linux/Android——Input系统之frameworks层Inpu ...
- Array.Copy vs Buffer.BlockCopy
http://stackoverflow.com/questions/1389821/array-copy-vs-buffer-blockcopy Since the parameters to Bu ...
- 4.7.4 Constructing LALR Parsing Tables
4.7.4 Constructing LALR Parsing Tables We now introduce our last parser construction method, the LAL ...
- python-----列表生成式和列表生成器表达
列表表达式: 程序一: 常规写法: L = [] for x in range(1, 11): L.append(x * x) print(L) #[1, 4, 9, 16, 25, 36, 49, ...
- bzoj 2200: [Usaco2011 Jan]道路和航线【spfa】
直接跑最短路就行了--还不用判负环 #include<iostream> #include<cstdio> #include<queue> using namesp ...
- bzoj 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路【Floyd】
弗洛伊德之后按序列加起来即可 #include<iostream> #include<cstdio> #include<algorithm> using names ...
- [App Store Connect帮助]五、管理构建版本(1)上传构建版本概述
在您添加 App 至您的帐户之后,您可以使用 Xcode 或 Application Loader 来上传构建版本.稍后,您可以随着您 App 的更改上传更多构建版本.分发构建版本以供测试,或提交您的 ...
- SAP中的货币与金额
- JAVA POI的使用
最近开发遇到了要通过Java处理Excel文件的场景,于是乎在网上了解了一番,最后自己做了个demo,已上传gitee:https://gitee.com/github-26930945/JavaCo ...