グリッドパネルで Ext.grid.CheckColumn によって作成されたすべてのチェックボックスをチェックしたいのですが、これを行う簡単な方法があれば教えてください。チェックボックス(Ext.grid.CheckColumn)にクラスを追加しようとしましたが、うまくいかないようです。
どうもありがとう!
ストアフィールドをchecbox列としてレンダリングする場合は、ストア内のすべてのレコードに対してそのフィールドをtrueに設定する必要があります。
store.each(function(rec){ rec.set('field', true) })
グリッドセルの値を直接変更しようとしないでください。常にストアの対応するレコードを介して変更してください。
更新:レコードが多い場合は、次のように使用します。
store.suspendEvents(); // avoid view update after each row
store.each(function(rec){ rec.set('field', true) })
store.resumeEvents();
grid.getView().refresh();
Ext.grid.CheckboxSelectionModel は、これが探しているものである場合、selectAll() メソッドを提供します。
http://dev.sencha.com/deploy/dev/docs/?class=Ext.grid.CheckboxSelectionModel
いくつかのコードを見せてもらえますか? CheckColumn はあなたが作成したものだと思いますか?
<script language="javascript" type="text/javascript">
var SelectAll = function (value) {
Store1.data.each(function (record) {
record.set('IsSelected', value);
});
};
</script>
<ext:Button ID="btnSelectAll" runat="server" Text="Select All" >
<Listeners>
<Click Handler="SelectAll(true);" />
</Listeners>
</ext:Button>
注: Store1 はストアの名前で、IsSelected は JsonReader リーダーで指定されたフィールド名です。