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 style 中visibility和display之间的区别
Jan 22 Javascript
在ASP.NET中使用JavaScript脚本的方法
Nov 12 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
Apr 06 Javascript
在JS数组特定索引处指定位置插入元素
Jul 27 Javascript
a标签的href与onclick事件的区别详解
Nov 12 Javascript
JS制作适用于手机和电脑的通知信息效果
Oct 28 Javascript
javascript中的try catch异常捕获机制用法分析
Dec 14 Javascript
jQuery实现的中英文切换功能示例
Jan 11 jQuery
node基于async/await对mysql进行封装
Jun 20 Javascript
Vue初始化中的选项合并之initInternalComponent详解
Jun 11 Javascript
关于JS中的作用域中的问题思考分享
Apr 06 Javascript
vue+elementUI实现表格列的显示与隐藏
Apr 13 Vue.js
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(1) php开发环境配置
2010/02/15 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
JavaScript实现换肤功能
2017/09/15 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
wxPython学习之主框架实例
2014/09/28 Python
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
Django自定义认证方式用法示例
2017/06/23 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
浅析Python 引号、注释、字符串
2019/07/25 Python
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
关于感恩的演讲稿200字
2014/08/26 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
公司档案管理制度
2015/08/05 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers