ExtJs设置GridPanel表格文本垂直居中示例


Posted in Javascript onJuly 15, 2013

业务场景,需要实现最终效果图如下:
ExtJs设置GridPanel表格文本垂直居中示例 
GridPanel代码如下配置:

{ 
xtype : 'grid', 
id : 'grid_jglb', 
frame : true, 
region : 'center', 
title : '列表详细信息', 
columnLines : true, 
loadMask : true, 
store : 'test_store', 
viewConfig : { 
forceFit : true, 
scrollOffset : 0 
}, 
anchor : '100%', 
selModel : new Ext.grid.CheckboxSelectionModel({ 
moveEditorOnEnter : false, 
width : 28 
}), 
columns : [{ 
xtype : 'gridcolumn', 
id : 'gridcolumn_id', 
align : 'center', 
dataIndex : 'COLUMN1', 
editable : false, 
header : '列名1', 
sortable : true, 
width : 100 
}, { 
xtype : 'gridcolumn', 
align : 'center', 
dataIndex : 'COLUMN2', 
editable : false, 
header : '列名2', 
sortable : true, 
width : 100 
}, { 
xtype : 'gridcolumn', 
align : 'center', 
dataIndex : 'COLUMN3', 
editable : false, 
header : '列名3', 
sortable : true, 
width : 100 
}, { 
xtype : 'gridcolumn', 
align : 'center', 
dataIndex : 'COLUMN4', 
id : 'colidx1', 
editable : false, 
header : '列名4', 
sortable : true, 
width : 100 
}, { 
xtype : 'gridcolumn', 
align : 'center', 
dataIndex : 'COLUMN5', 
hidden : true, 
sortable : true 
}], 
bbar : { 
xtype : 'paging', 
autoShow : true, 
displayInfo : true, 
pageSize : 10, 
store : 'test_store' 
}, 
tbar : [{ 
text : '新增', 
iconCls : 'icon-add', 
id : 'btn_mxxz' 
}, '-', { 
text : '修改', 
iconCls : 'icon-edit', 
id : 'btn_mxxg' 
}, '-', { 
text : '删除', 
iconCls : 'icon-delete', 
id : 'btn_mxsc' 
}] 
}

JsonStore的代码就不贴出来了。接下来看看如何实现垂直居中了。
实现思路:通过获取DOM节点方式,获取到表格内所有的TD,设置需要居中的TD的 cssText的值为:'text-align:center;lineheight:130px;vertical-align:center;'
实现依据:Ext中GridPanel容器最终是生成DIV标签来渲染的,其中我们所看到的每一行记录,比如:“测试项,0,20”这一行数据就是被“包”在一个div内的一个table。只要我们根据Ext的生成规则找到该table,就可以操作其td元素了。
如图:
ExtJs设置GridPanel表格文本垂直居中示例 
实现过程如下:
Ext.getCmp("grid_jglb").getStore().on('load',setTdCls);//设置表格加载数据完毕后,更改表格TD样式为垂直居中 
function setTdCls(){ 
var gridJglb=document.getElementById("grid_jglb"); 
var tables = gridJglb.getElementsByTagName("table");//找到每个表格 
for(var k = 0; k < tables.length; k++){ 
var tableV=tables[k]; 
if(tableV.className=="x-grid3-row-table"){ 
var trs=tables[k].getElementsByTagName("tr");//找到每个tr 
for(var i = 0;i < trs.length;i++){ 
var tds=trs[i].getElementsByTagName("td");//找到每个TD 
for(var j = 1;j<tds.length;j++){ 
tds[j].style.cssText="width:202px;text-align:center;line-height:130px;vertical-align:center;"; 
} 
} 
}; 
} 
}
Javascript 相关文章推荐
极酷的javascirpt,让你随意编辑任何网页
Feb 25 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
Mar 29 Javascript
js编码、解码函数介绍及其使用示例
Sep 05 Javascript
Bootstarp风格的toggle效果分享
Feb 23 Javascript
vue.js实现请求数据的方法示例
Feb 07 Javascript
Vue2递归组件实现树形菜单
Apr 10 Javascript
js实现图片懒加载效果
Jul 17 Javascript
微信小程序按钮去除边框线分享页面功能
Aug 27 Javascript
15个顶级开源JavaScript框架和库
Oct 10 Javascript
代码整洁之道(重构)
Oct 25 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
Vue微信公众号网页分享的示例代码
May 28 Javascript
鼠标移动到图片名上,显示图片的简单实例
Jul 14 #Javascript
JS中获取数据库中的值的方法
Jul 14 #Javascript
js 实现日期灵活格式化的小例子
Jul 14 #Javascript
仿谷歌主页js动画效果实现代码
Jul 14 #Javascript
jquery.messager.js插件导致页面抖动的解决方法
Jul 14 #Javascript
jquery实现输入框动态增减的实例代码
Jul 14 #Javascript
javascript获取隐藏dom的宽高 具体实现
Jul 14 #Javascript
You might like
几个学习PHP的网址
2006/11/25 PHP
PHP整合PayPal支付
2015/06/11 PHP
yii数据库的查询方法
2015/12/28 PHP
一个javascript参数的小问题
2008/03/02 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
详解js闭包
2014/09/02 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
基于python socketserver框架全面解析
2017/09/21 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
高级编程求职信模板
2014/02/16 职场文书
工商局个人工作总结
2015/03/03 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
三好学生竞选稿
2015/11/21 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书