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 相关文章推荐
用javascript实现分割提取页面所需内容
May 09 Javascript
JavaScript入门教程(12) js对象化编程
Jan 31 Javascript
IE6,IE7下js动态加载图片不显示错误
Jul 17 Javascript
JQuery选择器特辑 详细小结
May 14 Javascript
jquery 操作iframe的几种方法总结
Dec 13 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
Apr 08 Javascript
JavaScript自定义数组排序方法
Feb 12 Javascript
Javascript定义类(class)的三种方法详解
Mar 13 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
Aug 06 Javascript
JS中使用正则表达式g模式和非g模式的区别
Apr 01 Javascript
Node.js实现文件上传的示例
Jun 28 Javascript
梳理一下vue中的生命周期
Dec 30 Vue.js
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
计数器详细设计
2006/10/09 PHP
php判断访问IP的方法
2015/06/19 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
php操作access数据库的方法详解
2017/02/22 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
python利用opencv实现颜色检测
2021/02/23 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
html5使用canvas画一条线
2014/12/15 HTML / CSS
六月份红领巾广播稿
2014/02/03 职场文书
小学六年级学生评语
2014/04/22 职场文书
单位委托书
2014/10/15 职场文书
医院员工辞职信范文
2015/05/12 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书