extjs panel html 居中,ExtJs设置GridPanel表格文本垂直居中示例

业务场景,需要实现最终效果图如下:

d320fb8e18fdf24137a1c9510346e000.gif 

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元素了。

如图:

7c5ae00773a60c396469d2a5f044ff84.gif 

实现过程如下:

复制代码 代码如下:

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[j].style.cssText="width:202px;text-align:center;line-height:130px;vertical-align:center;";

}

}

};

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值