3

我想更改 Ext.grid.Panel 标题高度。

网格面板标题的高度被强制设置为 28px。

  1. 没有 sass 设置
  2. 面板上的标题配置对我不起作用
  3. 配置 < 28px 时,修改网格列的高度似乎有效。28px 似乎是最小值。

这是我到目前为止所拥有的(并且有效),但我不喜欢这个解决方案。

Ext.define('Ext.grid.Panel', {
    listeners: {
        beforerender: function (cmp, eOpts) {
            cmp.headerCt.setHeight(25);
        }
    }
});

此外,列标题似乎也固定为 28px。将标题的高度设置为 25 不会将列标题设置为 25。您还需要在 scss/css 中覆盖它。否则,您的列标题菜单将显示 28px 高度。

.x-column-header
{
    height: 25px;
}

此解决方案不起作用:如果拖动列标题,更改列的索引位置,它将中断 -.-

推荐?

4

2 回答 2

2

要设置列标题的高度,必须在它们编译后设置高度。同样,列配置的高度值不能设置高度 < 28,但可以设置 > 28。

我发现在编译后修改高度可以正确设置高度并允许列可拖动(一切正常)。

Ext.define('Ext.grid.Panel', {
    listeners: {
        beforerender: function (cmp, eOpts) {
            cmp.columns[0].setHeight(25);
        }
    }
});

我的解决方案无法使用它,因为我创建了一个动态网格。在网格的动态部分,我使用 GRID.reconfigure(); - 通过销毁在渲染前状态下创建的任何内容。

Ext.define('Ext.grid.Panel', {
    listeners: {
        reconfigure: function (cmp, eOpts) {
            cmp.columns[0].setHeight(25);
        }
    }
});

重新配置功能在重新配置后触发,所以这就是我解决动态网格重新配置的方法。

于 2012-07-27T20:56:32.140 回答
2

您还可以为该网格面板使用 sass 子样式并设置“ui”配置:

添加ui:'custom-height-item'到您的配置中

@include extjs-panel-ui(
    'custom-height-item',
    $ui-header-line-height: 28px,
    $ui-header-padding: 2px;
    )
于 2013-04-04T14:26:22.677 回答