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中的property和attribute介绍
Dec 26 Javascript
JS声明变量背后的编译原理剖析
Dec 28 Javascript
onmouseover和onmouseout的一些问题思考
Aug 14 Javascript
Node.js中的模块机制学习笔记
Nov 04 Javascript
jquery中获取元素里某一特定子元素的代码
Dec 02 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Apr 01 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
Aug 24 Javascript
Bootstrap Fileinput文件上传组件用法详解
May 10 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
Oct 24 Javascript
深入理解React中何时使用箭头函数
Aug 23 Javascript
Vue项目安装插件并保存
Jan 28 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数据库连接
2006/10/09 PHP
实用函数2
2007/11/08 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
实例讲解php数据访问
2016/05/09 PHP
PHP jQuery+Ajax结合写批量删除功能
2017/05/19 PHP
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
vue模块拖拽实现示例代码
2019/03/09 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
python3中的md5加密实例
2018/05/29 Python
python机器学习之神经网络实现
2018/10/13 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
NET程序员上机面试题
2015/05/23 面试题
大专生的学习自我评价
2013/12/04 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
Ajax异步刷新功能及简单案例
2021/11/20 Javascript