在Extjs grid中列显示全内容(非多余部分用……显示)


在Extjs grid中列显示全内容(非多余部分用……显示)

在工作中碰见了这样一个问题:在用htmleditor编辑器编写的内容在grid的列中显示的时候可以显示全部内容(这时会将这一列撑起来)而在用textarea编辑的内容则不会显示完全。

后来知道是因为textarea的底部样式导致的:.x-grid-cell-inner中的text-overflow ,white-space

在这里简单说下这两个样式:

text-overflow  在Ext的样式为 clip

text-overflow: clip  不显示省略标记,直接截取

text-overflow:ellipsis 当对象文本溢出时显示省略标记

white-space 在Ext的样式为 nowrap

在Extjs <wbr>grid中列显示全内容(非多余部分用……显示)

在这两个样式中只修改white-space为normal就可以(如果改底部样式所有grid的显示都将改变)

因为在工作中有可能不是将所有的grid的样式都改为显示全部内容撑开行高,因此我们要在所在的列中更改样式

在要显示的列的renderer事件中更改

renderer: function (v, m, r) {
           m.attr = 'style="white-space:normal;word-wrap:break-word;word-break:break-all;"';

          return v;

       }

好了,就上面的三行代码就OK啦(O(∩_∩)O~ 说了那么多废话就三句重点*^_^*)

在m.attr中还可以给所在列添加其他样式,以个人需要添加

添加word-wrap:break-word;word-break:break-all; 这两个样式用于改进浏览器兼容问题(在火狐英文和数字不换行) 至此IE,谷歌,火狐都可换行


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM