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 相关文章推荐
对象的类型:本地对象(1)
Dec 29 Javascript
jquery多浏览器捕捉回车事件代码
Jun 22 Javascript
js中数组Array的一些常用方法总结
Aug 12 Javascript
jquery删除指定子元素代码实例
Jan 13 Javascript
jquery中show()、hide()和toggle()用法实例
Jan 15 Javascript
javascript中call,apply,bind的用法对比分析
Feb 12 Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 Javascript
jQuery的bind()方法使用详解
Jul 15 Javascript
JS+CSS实现简易的滑动门效果代码
Sep 24 Javascript
JS实现的自定义网页拖动类
Nov 06 Javascript
聊一聊JS中的prototype
Sep 29 Javascript
vue-cli3+typescript初体验小结
Feb 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
浅析JavaScript中的常用算法与函数
2013/11/21 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
2016/05/11 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
儿童python练习实例
2018/05/27 Python
在python tkinter中Canvas实现进度条显示的方法
2019/06/14 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
企业统计员岗位职责
2013/12/13 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
工地安全标语
2014/06/07 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
药店营业员岗位职责
2015/04/14 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
考试后的感想
2015/08/07 职场文书
安全责任协议书范本
2016/03/23 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
python for循环赋值问题
2021/06/03 Python
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
 Redis 串行生成顺序编码的方法实现
2022/04/03 Redis
MySQL数据管理操作示例讲解
2022/12/24 MySQL