查看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:decodeString 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定时操作的更多相关文章

  1. C# 创建Windows服务。服务功能:定时操作数据库 (转)

    C# 创建Windows服务.服务功能:定时操作数据库 一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在S ...

  2. extjs gridpanel 操作行 得到选中行

    extjs gridpanel 操作行 得到选中行的列 在Extjs 3.2.0上适合 var model = grid.getSelectionModel(); model.selectAll(); ...

  3. ExtJS定时和JS定时

    ExtJS定时 //定时刷新待办事宜状态 var task={ run:function(){ //执行的方法或方法体 }, interval:5*60*1000 //5分钟 } //定时启动 Ext ...

  4. Extjs DOM操作的几个类

    Extjs提供了非常完善的DOM操作方法,可以方便的操作DOM.另外Extjs还可以方便的查询DOM元素,并把这些DOM元素封装成Ext.Element对象,通过Element对象我们可以操作DOM元 ...

  5. 执行Sqlserver中waitfor delay延时操作或waitfor time定时操作

    private static string connectionString = RBAC.Dal.DataRootBase.ConnectionString; private SqlConnecti ...

  6. Spring 定时操作业务需求

    1.定时分析 在业务需求中有的需要检测用户的状态,通过对用户状态的检测做出对此状态相应的操作,如果这种检测由运营人工检测,不仅工作量大,而且准确性不高,人工无法很好的完成工作: 问题根源:在检测用户状 ...

  7. shell脚本定时操作数据库

    一.数据库脚本(mysql.sh) Linux环境下,定时将数据库A的表格复制到数据库B中 #!/bin/bash mysql_host="127.0.0.1" mysql_use ...

  8. 关于linux定时操作cron的理解

    cron是服务名称,crond是后台进程(有的后台也叫作cron,本人是ubuntu12.04,32bit),crontab则是定制好的计划任务表. 软件包安装: 要使用cron服务,先要安装vixi ...

  9. djang-异步——定时操作

    django本身是一个同步框架,flask也是,所以要把它变成异步操作的话还得专门设置一下 我的这个系统呢是windows系统,python3.7的 所以有的库是不可以兼容的 ,然后到时候会稍微修改一 ...

随机推荐

  1. luogu2827 蚯蚓

    题目大意 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」= [3.9」=3. 蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓 ...

  2. Linux/Android——Input系统之InputReader (七)【转】

    本文转载自:http://blog.csdn.net/jscese/article/details/42739197 在前文Linux/Android——Input系统之frameworks层Inpu ...

  3. Array.Copy vs Buffer.BlockCopy

    http://stackoverflow.com/questions/1389821/array-copy-vs-buffer-blockcopy Since the parameters to Bu ...

  4. 4.7.4 Constructing LALR Parsing Tables

    4.7.4 Constructing LALR Parsing Tables We now introduce our last parser construction method, the LAL ...

  5. python-----列表生成式和列表生成器表达

    列表表达式: 程序一: 常规写法: L = [] for x in range(1, 11): L.append(x * x) print(L) #[1, 4, 9, 16, 25, 36, 49, ...

  6. bzoj 2200: [Usaco2011 Jan]道路和航线【spfa】

    直接跑最短路就行了--还不用判负环 #include<iostream> #include<cstdio> #include<queue> using namesp ...

  7. bzoj 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路【Floyd】

    弗洛伊德之后按序列加起来即可 #include<iostream> #include<cstdio> #include<algorithm> using names ...

  8. [App Store Connect帮助]五、管理构建版本(1)上传构建版本概述

    在您添加 App 至您的帐户之后,您可以使用 Xcode 或 Application Loader 来上传构建版本.稍后,您可以随着您 App 的更改上传更多构建版本.分发构建版本以供测试,或提交您的 ...

  9. SAP中的货币与金额

  10. JAVA POI的使用

    最近开发遇到了要通过Java处理Excel文件的场景,于是乎在网上了解了一番,最后自己做了个demo,已上传gitee:https://gitee.com/github-26930945/JavaCo ...