2

ページに CheckboxModel が設定されたグリッドがあります。名前とチェックボックスが表示されていますが、ストアのブール列を選択モデルの列にバインドする方法がわかりません。代わりに CheckColumn を使用する例を見つけましたが、コンストラクタがないというエラーがスローされます。v4 での変更に違いありません。これについて何か助けていただければ幸いです。

Ext.define('Roles', {
    extend: 'Ext.data.Model',
    fields: ['Id', 'Name', 'Selected'],
    proxy: {
        type: 'ajax',
        url: '/tpn/Types/AjaxList',
        reader: {
            type: 'json',
            root: 'rows',
            totalProperty: 'total',
            successProperty: 'success'
        },
        listeners: {
            exception: function (proxy, type, action, options, response, arg) {
                Ext.MessageBox.alert('Error', Ext.decode(type.responseText).error);
            }
        }

    }
});

var roleStore = Ext.create('Ext.data.Store', {
    model: 'Roles'
});

var sm = Ext.create('Ext.selection.CheckboxModel');

var grid = Ext.create('Ext.grid.Panel', {
    store: roleStore,
    selModel: sm,
    columns: [{
        header: 'Name',
        dataIndex: 'Name',
        flex: 1
    }],
    renderTo: 'RoleGrid',
    autoHeight: false,
    height: 200,
    frame: false
});

ここに画像の説明を入力

4

1 に答える 1

2

グリッドのアフターレンダーイベント(またはバインドされたストアのロードイベント)にリスナーを配置して、ブールチェック値のストアをウォークし、GridPanel.selectRecords()メソッドを呼び出しUI内のすべてのレコードを選択できます。これにより、チェックボックスがオンになります。

于 2011-06-22T13:47:08.540 に答える