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 chrome浏览器判断代码
Mar 28 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
Dec 11 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
Dec 12 Javascript
Javascript中神奇的this
Jan 20 Javascript
jquery点赞功能实现代码 点个赞吧!
May 29 jQuery
谈谈VUE种methods watch和compute的区别和联系
Aug 01 Javascript
详解JS数组Reduce()方法详解及高级技巧
Aug 18 Javascript
JS实现提交表单前的数字及邮箱校检功能
Nov 13 Javascript
jQuery实现数字华容道小游戏(实例代码)
Jan 16 jQuery
jQuery实现可以计算进制转换的计算器
Oct 19 jQuery
vue使用Google Recaptcha验证的实现示例
Aug 23 Vue.js
实现一个简单得数据响应系统
Nov 11 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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
php json相关函数用法示例
2017/03/28 PHP
js的with语句使用方法
2007/09/21 Javascript
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
React Router基础使用
2017/01/17 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
关于TypeScript模块导入的那些事
2018/06/12 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
Python实现SVN的目录周期性备份实例
2015/07/17 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
使用Python来开发微信功能
2018/06/13 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
python argparser的具体使用
2019/11/10 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
视光学专业自荐信
2014/06/24 职场文书
2015年清明节活动总结
2015/02/09 职场文书
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers