extjs:CheckBoxModelがPagingToolbarページの変更を解除しないようにする方法
質問
なぜ checkboxmodel ページングを使用している場合は、ページ変更時に選択したすべての行の選択を解除します。ツールバー?ページの変更時に行の選択解除を停止するのですか?
ノードの整理を防ぐために使用できる段階があることを確認します。ただし、選択解除はまだ解雇されています。他に何を試すべきかわからない。
チェックボックスモーセルが店舗と登録するか、店舗が変更されたときに通知されるようにPagingToolbarが...それからすべてを選択解除しますか?どうして?それを防ぐ必要があります。
編集: DecelectAllを起動したくない理由は;選択して選択解除にハンドラを接続します。 [別のグリッドへの行を追加する]を選択し、選択解除を選択します。したがって、ユーザーがその行が別のグリッドに追加されたときにそれをオフにすると、そのグリッドから削除されます。 DESELECTALLを発射するグリッドによって、ストアが変更されたときに、私は他のグリッドのすべての私の保存行を失います。
解決
これがこれを行う正しい方法であるかどうかはわかりませんが、私のために働いています。
私がしたことは私自身のext.grid.viewを作成されました。exted.view.tableおよびOnMaskBeforeshowメソッドを拡張しました。これは、Grids Selectionモデル上のすべての選択を解除していた方法です。あなたが見ることができるように私はここでそれをコメントしました
Ext.define('Ext.grid.SteveView', {
extend: 'Ext.view.Table',
alias: 'widget.stevegridview',
onMaskBeforeShow: function(){
var me = this,
loadingHeight = me.loadingHeight;
//me.getSelectionModel().deselectAll();
me.all.clear();
if (loadingHeight && loadingHeight > me.getHeight()) {
me.hasLoadingHeight = true;
me.oldMinHeight = me.minHeight;
me.minHeight = loadingHeight;
me.updateLayout();
}
}
});
.
上記のスクリプトを含み、グリッドを作成するときは、ViewTypeをStevegridViewに変更したり、名前を付けてください
{
xtype: 'grid',
viewType:'stevegridview',
store:'some store'
...
}
.
新しいビュータイプが使用されます.New OnMaskBeforEShow()が呼び出されます。