Grid 隐藏网格列会更改行的高度
我在动态隐藏网格列时遇到了一个非常恼人的问题。隐藏列(单元格中有长文本)后,网格行的高度会显著增加。 藏前 隐藏手术后 正如你们所看到的,第一排肯定太高了。这种行为的原因可能是,我在网格单元中使用文本换行Grid 隐藏网格列会更改行的高度,grid,extjs4.1,word-wrap,Grid,Extjs4.1,Word Wrap,我在动态隐藏网格列时遇到了一个非常恼人的问题。隐藏列(单元格中有长文本)后,网格行的高度会显著增加。 藏前 隐藏手术后 正如你们所看到的,第一排肯定太高了。这种行为的原因可能是,我在网格单元中使用文本换行 .x-grid-cell-inner { white-space: normal; } 有没有什么有效的方法来生成网格行,而不是在隐藏列(并使用textwrap)后更改其高度?我个人以前遇到过这种奇怪的现象。这个问题是由extjs通过将宽度设置为0px来“隐藏”列引起的 我的解决方案是向
.x-grid-cell-inner { white-space: normal; }
有没有什么有效的方法来生成网格行,而不是在隐藏列(并使用textwrap)后更改其高度?我个人以前遇到过这种奇怪的现象。这个问题是由extjs通过将宽度设置为0px来“隐藏”列引起的 我的解决方案是向网格头添加事件侦听器,如下所示:
// me is the grid
me.headerCt.on({
columnhide: me.removeWordWrapOnHide,
columnshow: me.addWordWrapOnShow,
scope: me
});
<style type="text/css">
td.grid-cell-wordwrap > div {
white-space: normal; /* may need !important, not sure */
}
</style>
不要使用现有的x-grid-cell-internal
类,而是创建如下新类:
// me is the grid
me.headerCt.on({
columnhide: me.removeWordWrapOnHide,
columnshow: me.addWordWrapOnShow,
scope: me
});
<style type="text/css">
td.grid-cell-wordwrap > div {
white-space: normal; /* may need !important, not sure */
}
</style>
可能不是最有效的方法,但它完成了任务。对于找到这个答案的任何人来说,这显然在4.2.0中被固定为EXTJSIV-6734。因为它是内部报告的,所以没有论坛线程,但它在发行说明中。