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 相关文章推荐
理解JavaScript变量作用域更轻松
Oct 25 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
Oct 20 Javascript
兼容FF和IE的动态table示例自写
Oct 21 Javascript
AngularJS指令详解及示例代码
Aug 16 Javascript
全面解析Bootstrap表单样式的使用
Sep 09 Javascript
js实现省市级联效果分享
Aug 10 Javascript
Bootstrap Table快速完美搭建后台管理系统
Sep 20 Javascript
Webpack中publicPath路径问题详解
May 03 Javascript
vue-cli3.0使用及部分配置详解
Aug 29 Javascript
Vue 莹石摄像头直播视频实例代码
Aug 31 Javascript
使用JQuery自动完成插件Auto Complete详解
Jun 18 jQuery
JS判断数组四种实现方法详解
Jun 29 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 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
php使用正则验证中文
2016/04/06 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
制作特殊字的脚本
2006/06/26 Javascript
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
2017/07/04 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
[00:23]DOTA2群星共贺开放测试 25日无码时代来袭
2013/09/23 DOTA
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
python getopt详解及简单实例
2016/12/30 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
安全生产投入制度
2014/01/29 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android