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 相关文章推荐
JQuery 学习笔记01 JQuery初接触
May 06 Javascript
setInterval,setTimeout与jquery混用的问题
Apr 08 Javascript
js正则表达式中test,exec,match方法的区别说明
Jan 29 Javascript
3个可以改善用户体验的AngularJS指令介绍
Jun 18 Javascript
浅析JSONP技术原理及实现
Jun 08 Javascript
微信小程序request请求后台接口php的实例详解
Sep 20 Javascript
11行JS代码制作二维码生成功能
Mar 09 Javascript
Vue-Router基础学习笔记(小结)
Oct 15 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
Feb 27 Javascript
java实现单链表增删改查的实例代码详解
Aug 30 Javascript
vue框架中props的typescript用法详解
Feb 17 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
Oct 17 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中遍历stdclass object的实现代码
2011/06/09 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
小程序实现多列选择器
2019/02/15 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
python面试题小结附答案实例代码
2019/04/11 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
Python如何进行时间处理
2020/08/06 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
行政人事专员岗位职责
2014/03/05 职场文书
岗位职责怎么写
2014/03/14 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
文明村创建实施方案
2014/03/27 职场文书
上课不认真检讨书
2014/09/17 职场文书
公司租房协议书范本
2014/10/08 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
家属慰问信
2015/02/14 职场文书
个人年底工作总结
2015/03/10 职场文书
行政经理岗位职责
2015/04/15 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
高中化学教学反思
2016/02/22 职场文书