ObjectStore onFetch方法获取记录总数
转自:http://blog.csdn.net/earthhour/article/details/38686029
require(['dojo/when']);
var json = new JsonRest({target: url}); store = new ObjectStore({objectStore: json}); store.onFetch = function(results){
// 方法一:
results.then(function(rs){
console.log('rs len->',rs.length);
});
// 方法二:
when(results, function(results){
console.log('when->',results.length);
console.dir(results);
});
};
dojo小例子(14)对提供给grid显示的数据进行预处理
有时我们从后台获取的数据不一定能满足页面显示的需求,比如后台数据中某个字段值是“1/0”,但是显示时我们希望显示为“是/否”。这就需要对数据进行转换,也就是预处理。
可以有两种方法,假设使用场景是JsonRest+ObjectStore组合为grid提供懒加载数据。
方法一、对store中的数据进行预处理。
- var json = new JsonRest({
- target: url
- });
- var store = new ObjectStore({objectStore: json});
- store.onFetch = function(results){
- results.forEach(function(item){
- // 在这里预处理数据
- if(item.admin == '1'){
- item.admin = '是';
- }else{
- item.admin = '否';
- }
- });
- };
方法二、在grid的structure中预处理。
- var layout = [
- [{
- 'name': 'Column 1',
- 'field': 'id',
- 'width': '100px'
- }, {
- 'name': 'Column 2',
- 'field': 'admin',
- 'width': '100px',
- get: function(colIndex, item) {
- // processing data
- if (item.admin == '1') {
- return '是';
- } else {
- return '否';
- }
- }
- }, {
- 'name': 'Column 3',
- 'field': 'desc',
- 'width': '200px'
- }]
- ];
另外,遇到带内部对象的json数据,例如:
{"name":"陈","age":"24","phone":{"company":"123","home":"456","private":"789"}}
我们想把内部对象的属性company显示到grid,如果这样写'field': 'phone.company'肯定行不通,所以也适合用上面提到的两种方法之一进行转换。
假如采用第二种方法:
- {
- 'name': 'Column 2',
- 'field': 'phone.company',
- 'width': '100px',
- get: function(colIndex, item) {
- // processing data
- return item.phone.company;
- }
- }
2014-5-13更新:
采用第二种方法时,对grid刷新会不起作用,就是由于get方法导致。代码如下:
- Grid.resize();
- Grid._refresh();
目前原因不清楚。所以如果需要用到grid刷新,还是采用第一种方式
ObjectStore onFetch方法获取记录总数的更多相关文章
- thinkphp5 数据库查询之paginate: 同时获取记录总数和分页数据
thinkphp5中要想同时获得查询记录的总数量以及分页的数据, 可以用paginate(), 真的非常方便! 表结构: CREATE TABLE `t_users` ( `id` int(11) u ...
- MySQL高效获取记录总数
通常mysql获取查询记录总数我们使用如下语句: SELECT COUNT(*) FROM users WHERE k='avs'; 或:SELECT id FROM goods WHERE k=' ...
- 【Mysql】MySQL高效获取记录总数SQL_CALC_FOUND_ROWS
用法说明 分页程序一般由两条SQL组成: SELECT COUNT(*) FROM ... WHERE .... SELECT ... FROM ... WHERE LIMIT ... 如果使用SQL ...
- PHP MYSQL 获取记录总数
$qid = mysql_query(“SELECT count(aid) as total FROM table group by aid “);//你的查询 $res = mysql_fetch_ ...
- 如何获取Repeater行号(索引)、记录总数?
Repeater控件想必搞ASP.NET开发的人,基本上都到了用的炉火纯青的地步了.今个又吃了懒的亏,翻了好几个项目的代码都没找到如何获取Repeater记录总数的代码来,又Google了半天难得从老 ...
- MS SQLSERVER中如何快速获取表的记录总数
在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等.我们通常的做法是:select count(*) as c from tableA .然而对 ...
- Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置
Asp.Net SignalR 使用记录 工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
.net mvc 站点自带简易SSL加密传输 因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...
- [Android Pro] 关于inputStream.available()方法获取文件的总大小
reference to :http://hold-on.iteye.com/blog/1017449 如果用inputStream对象的available()方法获取流中可读取的数据大小,通常我们调 ...
随机推荐
- android 输出.txt 文本换行问题
// 获取当前日期和时间 Calendar cal = Calendar.getInstance(); String fileName = cal.get(Calendar.YEAR) + " ...
- UART,USART,SPI,I2C等总线的介绍与区别20160526
首先来说一下UART和USART的区别: 1.字面意义: UART:universal asynchronous receiver and transmitter通用异步收发器: USART:univ ...
- mysql索引合并:一条sql可以使用多个索引
前言 mysql的索引合并并不是什么新特性.早在mysql5.0版本就已经实现.之所以还写这篇博文,是因为好多人还一直保留着一条sql语句只能使用一个索引的错误观念.本文会通过一些示例来说明如何使用索 ...
- 网站网页生成.shtml访问无法显示
网站换了服务器后发现shtml网页无法访问,原因是没有注册.shtml扩展名,解决方法如下 IIS6.0解析shtm,shtml文件由于IIS6.0的安全性较以前有特别大的改进,所以在很多功能默认情况 ...
- object sender ,EventArs e
引用:http://blog.csdn.net/kongbai308416350/article/details/4233786 说的通俗一些,就是: 有一个叫做EventHandler 的家伙,他会 ...
- eclipse+cdt+minGW (C/C++ 编译)
1. 安装Eclipse CDT 方法1: 已安装Eclipse的话,可以通过菜单Help->Install New Software,安装CDT插件. 点击ADD后 Name:CDT L ...
- Objective-C 编码规范
Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程 ...
- iOS 七大手势之轻拍,长按,旋转手势识别器方法
一.监听触摸事件的做法 如果想监听一个view上面的触摸事件,之前的做法通常是:先自定义一个view,然后再实现view的touches方法,在方法内部实现具体处理代码 通过touches方法监听 ...
- Java实现UDP之Echo客户端和服务端
Java实现UDP之Echo客户端和服务端 代码内容 采用UDP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...
- .gitignore无效,不能过滤某些文件
利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理. 现象: 在.gitignore添加file1文件,以过滤该文件,但是通过git status查看仍显示fil ...