3

Ext.grid.Panel ヘッダーの高さを変更したい。

グリッド パネル ヘッダーの高さは強制的に 28px に設定されます。

  1. サス設定なし
  2. パネルのヘッ​​ダー構成が機能しませんでした
  3. グリッド列の高さを変更すると、< 28px を構成すると機能するようです。28pxが最小のようです。

これは私がこれまでに持っているものです(そしてうまくいきます)が、私は解決策が好きではありません.

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

さらに、列ヘッダーも 28px に固定されているようです。ヘッダーの高さを 25 に設定しても、列ヘッダーは 25 に設定されません。scss / css でそれもオーバーライドする必要があります。そうしないと、列ヘッダー メニューが 28 ピクセルの高さで表示されます。

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

この解決策は機能しません: 列ヘッダーをドラッグして列のインデックス位置を変更すると、壊れます -.-

おすすめは?

4

2 に答える 2

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 に答える
2

列ヘッダーの高さを設定するには、コンパイル後に高さを設定する必要があります。繰り返しになりますが、列構成の高さの値は、高さを 28 未満に設定するのには機能しませんが、28 を超えると機能します。

コンパイル後に高さを変更すると、高さが正しく設定され、列をドラッグできるようになることがわかりました(すべてが正常に機能します)。

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

動的グリッドを作成したため、私のソリューションではこれを使用できませんでした。グリッドの動的部分では GRID.reconfigure(); を使用します。- beforerender 状態で作成されたものをすべて破棄します。

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

再構成機能は再構成後に起動するため、これが動的グリッド再構成を回避する方法です。

于 2012-07-27T20:56:32.140 に答える