extjs render 用法介绍


Posted in Javascript onSeptember 11, 2013
var cm = new Ext.grid.ColumnModel( 
[ 
new Ext.grid.RowNumberer({ header: "", width: 20, align: 'center' }), 
{ header: '', align: 'center', dataIndex: 'AccountAndRoseID', width: 50, sortable: true, hidden: true }, 
{ header: '', align: 'center', dataIndex: 'UserAccountId', width: 50, sortable: true, hidden: true }, 
{ header: '帐号', align: 'center', dataIndex: 'UserAccountName', width: 200, sortable: true }, 
{ header: '角色名', align: 'center', dataIndex: 'UserRoleName', width: 200, sortable: true }, 
{ header: '状态', align: 'center', dataIndex: 'UserAccountStateId', width: 200, sortable: true, hidden: true, renderer: function() } 
]

renderer可以格式化该列显示的数据格式或者按照你自定义的脚本显示最终数据样子(我目前是这么理解的)
先看下renderer: function()里的参数
renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){ }

1.value是当前单元格的值
2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。
3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。
4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
5.columnIndex列号太简单了。
6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。

网上找到一篇博文,非常不错,直观明了:

<html> 
<head> 
<meta http-equiv="Content-Type" c> 
<title>03.grid</title> 
<link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/../resources/css/ext-all.css" /> 
<script type="text/javascript" src="http://www.cnblogs.com/adapter/ext/ext-base.js"></script> 
<script type="text/javascript" src="http://www.cnblogs.com/ext-all.js"></script> 
<script type="text/javascript"> 
Ext.onReady(function(){ 
/* 
var cm = new Ext.grid.ColumnModel([ 
{header:'编号',dataIndex:'id'}, 
{header:'性别',dataIndex:'sex',renderer:function(value){ 
if (value == 'male') { 
return "<span style='color:red;font-weight:bold;'>红男</span>"; 
} else { 
return "<span style='color:green;font-weight:bold;'>绿女</span>"; 
} 
}}, 
{header:'名称',dataIndex:'name'}, 
{header:'描述',dataIndex:'descn'} 
]); 
*/ 
function renderSex(value) { 
if (value == 'male') { 
return "<span style='color:red;font-weight:bold;'>红男</span><img src='user_male.png' />"; 
} else { 
return "<span style='color:green;font-weight:bold;'>绿女</span><img src='user_female.png' />"; 
} 
} function renderDescn(value, cellmeta, record, rowIndex, columnIndex, store) { 
var str = "<input type='button' value='查看详细信息' >"; 
return str; 
} 
var cm = new Ext.grid.ColumnModel([ 
{header:'编号',dataIndex:'id'}, 
{header:'性别',dataIndex:'sex',renderer:renderSex}, 
{header:'名称',dataIndex:'name'}, 
{header:'描述',dataIndex:'descn',renderer:renderDescn} 
]); 
var data = [ 
['1','male','name1','descn1'], 
['2','female','name2','descn2'], 
['3','male','name3','descn3'], 
['4','female','name4','descn4'], 
['5','male','name5','descn5'] 
]; 
var store = new Ext.data.Store({ 
proxy: new Ext.data.MemoryProxy(data), 
reader: new Ext.data.ArrayReader({}, [ 
{name: 'id'}, 
{name: 'sex'}, 
{name: 'name'}, 
{name: 'descn'} 
]) 
}); 
store.load(); 
var grid = new Ext.grid.GridPanel({ 
autoHeight: true, 
renderTo: 'grid', 
store: store, 
cm: cm 
}); 
}); 
</script> 
</head> 
<body> 
<script type="text/javascript" src="../examples.js"></script> 
<div id="grid"></div> 
</body> 
</html>
Javascript 相关文章推荐
测试你的JS的掌握程度的代码
Dec 09 Javascript
javascript验证只能输入数字和一个小数点示例
Oct 21 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
Dec 31 Javascript
Javascript冒泡排序算法详解
Dec 03 Javascript
js分页工具实例
Jan 28 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
May 24 Javascript
javascript实现多张图片左右无缝滚动效果
Mar 22 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
javascript实现数字配对游戏的实例讲解
Dec 14 Javascript
js控制随机数生成概率代码实例
Mar 21 Javascript
小程序实现长按保存图片的方法
Dec 31 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
Apr 09 Javascript
jQuery图片轮播的具体实现
Sep 11 #Javascript
Javascript倒计时页面跳转实例小结
Sep 11 #Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 #Javascript
js open() 与showModalDialog()方法使用介绍
Sep 10 #Javascript
jquery获取子节点和父节点的示例代码
Sep 10 #Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
Sep 10 #Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
Sep 10 #Javascript
You might like
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
Node.js进阶之核心模块https入门
2018/05/23 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
Python获取脚本所在目录的正确方法
2014/04/15 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
python实现简单加密解密机制
2019/03/19 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
python实现录制全屏和选择区域录屏功能
2021/02/05 Python
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
2014全国两会学习心得体会1000字
2014/03/10 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
python关于集合的知识案例详解
2021/05/30 Python
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL