私はExtJS 6.2プロジェクトで作業しています。グリッド内の列のサイズが変更されたときに、いくつかの操作を実行する必要があります。私はそうするべき正しい出来事がカラムサイズであると思う。問題は、列がデータベースから動的にロードされるため、このイベントは新しい列がグリッドに追加されるたびに発生するため、このイベントは発生しないようにしたいと考えています。つまり、すべての列がロードされたときにだけこのイベントが発生する必要があります。ExtJSは列のロード中にresizecolumnイベントを防止します
私は列がロードされたフォームデータベースですが、columnresizeイベントは開始から発射され続ける一度偽だろう(lFirstInitという名前の)フラグを設定しようとしました。
私はこれにどのようにアプローチできますか?ありがとう。
ビュー:
Ext.define('App.view.TMainBrowseGrid', {
extend: 'Ext.grid.Panel',
alias: 'widget.TMainBrowseGrid',
requires: [
'App.view.TMainBrowseGridViewModel',
'App.view.override.TMainBrowseGrid',
'Ext.view.Table',
'Ext.grid.column.RowNumberer',
'App.view.TMainBrowseGridViewController'
],
controller: 'TMainBrowseGrid',
config: {
oParent: null,
cBrwName: '',
cCodForm: ''
},
viewModel: {
type: 'TMainBrowseGrid'
},
flex: 1,
columns: [
{
xtype: 'rownumberer',
itemId: 'oColRowNum'
}
],
listeners: {
columnresize: 'onGridpanelColumnResize',
}
});
コントローラ
Ext.define('App.view.TMainBrowseGridViewController', {
extend: 'Ext.app.ViewController',
alias: 'controller.TMainBrowseGrid',
onGridpanelColumnResize: function (component, column, width, eOpts) {
// THINGS TO DO...
}
});
UIに表示される列の数はいくつですか? yesの場合、レンダリングされた列数と実際の列数を比較できます。いくつかのダミーコードを示すことができるなら、私はそれをコード化することができます。 – Tejas
グリッドビューの 'refresh'リスナーにプログラマチックに' columnresize'リスナを追加できますか? – chrisuae