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 相关文章推荐
HTML Dom与Css控制方法
Oct 25 Javascript
js导航栏单击事件背景变换示例代码
Jan 13 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
Sep 01 Javascript
使用JavaScript 实现的人脸检测
Mar 24 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 Javascript
AngularJs 动态加载模块和依赖
Sep 15 Javascript
javascript input输入框模糊提示功能的实现
Sep 25 Javascript
JavaScript原生实现观察者模式的示例
Dec 15 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
Mar 02 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
Jul 26 Javascript
使用vue.js在页面内组件监听scroll事件的方法
Sep 11 Javascript
javascript的setTimeout()使用方法总结
Nov 20 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
Convert Seconds To Hours
2007/06/16 Javascript
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
Python列表append和+的区别浅析
2015/02/02 Python
python中的闭包用法实例详解
2015/05/05 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
Python常见异常分类与处理方法
2017/06/04 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
python数据归一化及三种方法详解
2019/08/06 Python
python实现复制大量文件功能
2019/08/31 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
Python 忽略文件名编码的方法
2020/08/01 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
办公室经理岗位职责
2014/01/01 职场文书
《散步》教学反思
2014/03/02 职场文书
六五普法规划实施方案
2014/03/21 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA