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

行数据内容.

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. html+jquery实现简单图片裁剪

    有了上一篇图片放大镜的铺垫,今天的这个例子是缩小镜,因为裁剪的原图往往很大,不能在工作区域看到全部图片,所以,要有缩小镜来显示,当前裁剪的区域是原图的个部分.按照惯例首先看下效果图: 功能一:载入默认 ...

  2. 【证明】【一题多解】布尔不等式(union bound)的证明

    布尔不等式(Boole's inequality)也叫(union bound),即并集的上界,描述的是至少一个事件发生的概率(P(⋃iAi)" role="presentatio ...

  3. 远程过程调用发展历程 WebAPI GRPC Hprose

    作者:马秉尧链接:https://www.zhihu.com/question/23299132/answer/109978084来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  4. python学习6---字典合并

    1.针对python3版本 d1={'gao':1,'luo':2} d2={'liu':3,'jia':4} dictMerged1=dict(d1,**d2) print(dictMerged1) ...

  5. Spring Boot框架的自动配置

    (图片来源于网络,侵删!!!) l  @RestController 因为我们例子是写一个web应用,因此写的这个注解,这个注解相当于同时添加@Controller和@ResponseBody注解 l ...

  6. 炒鸡讨厌换python版本呀

    https://www.cnblogs.com/yjlch1016/p/8641910.html 还是说,装个 Anaconda,你好我好大家好. https://blog.csdn.net/qq_3 ...

  7. Java字符串与数组

    字符串查找 indexOf(String s)方法返回搜索的字符或字符串首次出现的位置 lastIndexOf(String s)方法返回搜索的字符或字符串最后一次出现的位置 获取索引位置的字符 ch ...

  8. 机器学习基础一(TP,TN,FP,FN等)

    TP:预测为正向(P),实际上预测正确(T),即判断为正向的正确率 TN:预测为负向(N),实际上预测正确(T),即判断为负向的正确率 FP:预测为正向(P),实际上预测错误(F),误报率,即把负向判 ...

  9. creator NDK_PROJECT_PATH=null

    NDK_PROJECT_PATH=null 其实不是一个错误= =,少年,不要纠结于此了. 主要问题在于这一句: process_begin: CreateProcess(NULL, E:/Andro ...

  10. 服务程序在c#中的写法

    1.在VS.NET2003中新建一个WINDOWS服务程序的项目WinSrv_A. 2.更改SERVICE1.CS属性SERVICENAME为你所要建立的服务名称,在服务管理器->名称中你可以看 ...