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 相关文章推荐
关于jQuery的inArray 方法介绍
Oct 08 Javascript
JavaScript定义类的几种方式总结
Jan 06 Javascript
file控件选择上传文件确定后触发的js事件是哪个
Mar 17 Javascript
jQuery中children()方法用法实例
Jan 07 Javascript
AngularJs页面筛选标签小功能
Aug 01 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
Angular Renderer (渲染器)的具体使用
May 03 Javascript
原生js封装的ajax方法示例
Aug 02 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
Apr 09 Javascript
vue中改变滚动条样式的方法
Mar 03 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
Jul 30 Javascript
我所理解的JavaScript中的this指向
Sep 04 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/10/09 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
不使用php api函数实现数组的交换排序示例
2014/04/13 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
js实时获取并显示当前时间的方法
2015/07/31 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
浅谈JS的基础类型与引用类型
2016/09/13 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
Angular 项目实现国际化的方法
2018/01/08 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
python模拟事件触发机制详解
2018/01/19 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
python中的二维列表实例详解
2018/06/19 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python中安装django模块的方法
2020/03/12 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
六一亲子活动总结
2014/07/01 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python