考勤界面, 列包含日期. 行的数据格式:  需要实现 编辑一列然后在最后产生的统计的效果.

行数据内容.

Gird Load 的时候统计数据: 
-- 根据对象. 可以Ext.Date.parse 成功的都是日期列. 其他非日期列则不会执行统计.

function AttenAllStaticsCalc() {
for (var i = 0; i < AttendanceTable.store.data.items.length; i++) {
var record = AttendanceTable.store.data.items[i];
var recordData = record.data;
var staticQty = {};
for (var k in recordData) {
var tm = Ext.Date.parse(k, 'Ymd')
var recordDatas = recordData[k];
if (tm) {
if (recordData[k]) {
if (staticQty[recordData[k]] != undefined) {
staticQty[recordData[k]] += 1;
} else {
staticQty[recordData[k]] = 1;
}
}
}
} var res = "";
if (staticQty) {
for (var t in staticQty) {
if (staticQty[t]) {
var si = t + ": " + staticQty[t] + "; ";
res += si;
}
}
}
if (res.length > 0) {
res = res.substring(0, res.length - 2);
}
recordData['AttenStatics'] = res;
//record.set("AttenStatics", res); //显示数据
} AttendanceTable.view.refresh();
}

每行编辑后设置统计数字;

            var staticQty = {};
for (var k in recordData) {
var tm = Ext.Date.parse(k, 'Ymd')
var recordDatas = recordData[k];
if (tm) {
if (recordData[k]) {
if (staticQty[recordData[k]] != undefined) {
staticQty[recordData[k]] += 1;
} else {
staticQty[recordData[k]] = 1;
}
}
}
} //oldValue, newValue -1 + 1动作
staticQty[oldValue] = staticQty[oldValue] - 1;
staticQty[newValue] = typeof(staticQty[newValue]) == 'undefined' ? 1 : staticQty[newValue] + 1; var res = "";
if (staticQty) {
for (var t in staticQty) {
if (staticQty[t]) {
var si = t + ": " + staticQty[t] + "; ";
res += si;
}
}
}
if (res.length > 0) {
res = res.substring(0, res.length - 2);
} record.set("AttenStatics", res); //显示数据

使用

Ext 行统计有意思的实现.(js对象的循环, ext列的设置)的更多相关文章

  1. EXT心得--并非所有的items配置对象都属于EXT的内置类

    之前我对EXT的items中未指明xtype的配置对象有一个错误的认识--即虽然某个items未指明它下面的某个组件的xtype,但这个组件肯定属性EXT的某个类.然而今天在查看actioncolum ...

  2. js 对象的循环

    var car = {type:"Fiat", model:500, color:"white"}; var arr = array(); for(i in c ...

  3. Ext JS学习第九天 Ext基础之 扩展原生的javascript对象

    此文来记录学习笔记: •Ext对于原生的javascript对象进行了一系列的扩展,我们把他们掌握好,更能深刻的体会Ext的架构,从而对我们的web开发更好的服务, 源码位置,我们可以从开发包的这个位 ...

  4. Ext JS学习第十天 Ext基础之 扩展原生的javascript对象(二)

    此文来记录学习笔记: 今天继续说Ext.Array,Ext.Function,Ext.Date,Ext.Error ------------------------------------------ ...

  5. Ext 行模型与Grid视图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. JSON与js对象序列化

    JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集.虽然是一个js的子集但是他与语 ...

  7. js 对象深复制,创建对象和继承

    js 对象深复制,创建对象和继承.主要参考高级编程第三版,总结网上部分资料和自己的代码测试心得.每走一小步,就做一个小结. 1.对象/数组深复制 一般的=号传递的都是对象/数组的引用,如在控制台输入 ...

  8. 超实用的JavaScript代码段 Item8 -- js对象的(深)拷贝

    js 对象 浅拷贝 和 深拷贝 1.浅拷贝 拷贝就是把父对像的属性,全部拷贝给子对象. 下面这个函数,就是在做拷贝: var Chinese = { nation:'中国' } var Doctor ...

  9. Ext JS学习第十二天 Ext基础之操作dom ; get与fly 方法

    此文用来记录学习笔记 •嗯!首先,什么是DOM(Document Object Model) –W3C对DOM的定义:文档对象模型是一个平台,一个中立于语言的应用程序编程接口(API),允许程序访问并 ...

随机推荐

  1. 使用LSTM-RNN建立股票预测模型

    硕士毕业之前曾经对基于LSTM循环神经网络的股价预测方法进行过小小的研究,趁着最近工作不忙,把其中的一部分内容写下来做以记录. 此次股票价格预测模型仅根据股票的历史数据来建立,不考虑消息面对个股的影响 ...

  2. 怎么在Mac中的Safari查看网页源码

    一般情况下,Safari中右键是没有查看网页源文件这个选项的: 但是通过设置是可以看到的~ 1.首先找到电脑左上角的Safari然后选择偏好设置: 2.接着选择 “高级”页签,勾选最下面的 “在菜单栏 ...

  3. vue打包上传oss

    今天把vue打包之后上传到oss,遇到了一点问题,现在解决了总结一下心得: OSS (Object Storage Service)名为对象存储,配合cdn使用达到静态文件托管加速,提升网站文件访问速 ...

  4. rsa公钥和私钥的生成

    在liunx环境中 openssl 然后生成私钥: genrsa -out app_private_key.pem 2048 # 私钥的生成 在利用私钥生成公钥: rsa -in app_privat ...

  5. AJ的笔记之上拉电阻的工作原理分析

    第二章:聊一聊上拉电阻的工作原理 **********本文所采用的单片机是:STC89C52RC系******************** [重点提要]其实,理解上拉电阻的原理,关键是理解这两个词:锁 ...

  6. python request 和requests 的区别

    说明: 这里主要记录一下requests模块的如下几点: 1.requests模块的安装 2.requests模块发送get请求 3.requests模块发送post请求 4.requests模块上传 ...

  7. docker安装tomcat并部署web项目

    docker安装tomcat就不说了,网上一大把 启动tomcat: docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tom ...

  8. JavaScript线程(第八天)

    js是单线程的: js中的线程分为三种 1.页面渲染 2.主代码逻辑 3.事件触发: 下面我们来看一段代码 <script> setTimeout(function(){    conso ...

  9. hibernate二级缓存demo2

    @Test public void hello3(){ Session session=sessionFactory.openSession(); List list = session.create ...

  10. (转)volatile 的理解

    对于(volatile unsigned char *)0x20我们再分析一下,它是由两部分组成: 1) (unsigned char *)0x20,0x20只是个值,前面加(unsigned cha ...