3

グリッドパネルにチェックボックス選択モードが必要だったので、Ext.selection.CheckboxModelコンポーネントを使用しましたが、問題は、このコンポーネントがグリッドに追加する列(チェックボックス列)に関するものです。ブラウザウィンドウのサイズを変更すると、この列の幅が変わる可能性があるため、固定幅を設定したいと思います。以下のコードを使用していますが、機能しません。

constructor: function() {
    var me = this;
        me.selModel = Ext.create('Ext.selection.CheckboxModel', {width: 16});
    me.callParent(arguments);
}

これは、私のユーザーテーブルのコードスニペットとスナップショットです。

Ext.define('VDOA.view.users.Table', {
    extend: 'Ext.grid.GridPanel',
    alias: 'widget.usersgrid',
    forceFit: true,
    selType: 'checkboxmodel',
    //selType: 'rowmodel',
    //selModel: Ext.create('Ext.selection.CheckboxModel'),
    title: '',
    initComponent: function() {
        ...
    }
});

パネルのスナップショット

4

5 に答える 5

4

これはExt4.0.7のバグです。

それはforceFit: trueめちゃくちゃです。flex:1彼らは残りの列に設定することを提案します。それは私にとってはうまくいきましたが、それでももっと小さくしたいと思います。私はおそらくcssソリューションに行きます。

煎茶フォーラムのスレッド

于 2012-07-02T15:38:40.207 に答える
4

次の組み合わせを使用する必要があります。

  1. VDPが提案したように、各列にフレックスプロパティを設定します
  2. リッチウォーターズが提案したように定義selModelするheaderWidth

この組み合わせを使用すると、チェックボックスを使用してセルの正確な幅を制御できるようになります

于 2013-05-10T12:37:43.240 に答える
3

列幅を制御する文書化されていないプロパティがあります。これを試してみてください。

selModel: {
    selType: 'checkboxmodel',
    headerWidth: 16
}
于 2012-04-12T00:03:33.753 に答える
0

あなたは物事を複雑にしすぎていると思います。この行をグリッドパネル定義に追加するだけです。

selType: 'checkboxmodel'

また、前面に固定幅のサイズ変更不可能なチェックボックス列が表示されます。

于 2012-04-11T12:35:58.187 に答える
0

すべてのものを「initComponent関数」内に配置しようとします。

initComponent: function () {
    this.items = [{
       //define grid view 
       selModel: Ext.create('Ext.selection.CheckboxModel'),
       }
    ];
    this.callParent(arguments);
}
于 2012-05-08T04:01:58.143 に答える