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模板实现方法
Apr 27 Javascript
js兼容标准的表格变色效果
Jun 28 Javascript
在Ubuntu上安装最新版本的Node.js
Jul 14 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
Aug 01 Javascript
Vue.js动态组件解析
Sep 09 Javascript
Express之get,pos请求参数的获取
May 02 Javascript
vue 使用Jade模板写html,stylus写css的方法
Feb 23 Javascript
vue百度地图 + 定位的详解
May 13 Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
Vue组件模板的几种书写形式(3种)
Feb 19 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
Nov 02 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
实用函数4
2007/11/08 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
JavaScript 常用函数库详解
2009/10/21 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
javascript编写简易计算器
2017/05/06 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python学习手册中的python多态示例代码
2014/01/21 Python
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
Python编程之string相关操作实例详解
2017/07/22 Python
Python 函数返回值的示例代码
2019/03/11 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
PyQt5实现登录页面
2020/05/30 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
C#的几个面试问题
2016/05/22 面试题
教你打造完美的创业计划书
2014/01/06 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
人事专员的岗位职责
2014/03/01 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
专业见习报告范文
2014/11/03 职场文书
优秀党员推荐材料
2014/12/18 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
小学见习报告
2015/06/23 职场文书
保险公司增员口号
2015/12/25 职场文书