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 相关文章推荐
非常不错的功能强大代码简单的管理菜单美化版
Jul 09 Javascript
Javascript中判断变量是数组还是对象(array还是object)
Aug 14 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
单击某一段文字改写文本颜色
Jun 06 Javascript
node.js中的fs.appendFileSync方法使用说明
Dec 17 Javascript
javascript定义变量时带var与不带var的区别分析
Jan 12 Javascript
vue.js+Element实现表格里的增删改查
Jan 18 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
Feb 15 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
Feb 22 Javascript
Webpack优化配置缩小文件搜索范围
Dec 25 Javascript
微信小程序云开发详细教程
May 16 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
phpMyAdmin链接MySql错误 个人解决方案
2009/12/28 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
JavaScript OOP面向对象介绍
2010/12/02 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
JavaScript实现购物车基本功能
2017/07/21 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
python实现RSA加密(解密)算法
2016/02/17 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
Python中生成Epoch的方法
2017/04/26 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
python实现简单坦克大战
2020/03/27 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
为什么会有内存对齐
2016/10/10 面试题
数控技术与应用毕业生自荐信
2013/09/24 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
学生偷窃检讨书
2014/09/25 职场文书
教师党员个人自我评价
2015/03/04 职场文书
质量承诺书格式范文
2015/04/28 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang