ExtJS 4:一个网格列,显示带有复选框标题的复选框,可以隐藏



我们正在使用ExtJS 4.2,所以这就是我对这个问题的上下文。

我需要在网格中有一列:

  1. 在每一行上显示一个复选框,可以选择/取消选择该复选框。它用于跟踪用户选择,而不是与基础商店数据同步。
  2. 标题中有一个复选框,允许用户选择或取消选择网格中的所有行。
  3. 可以根据呈现页面时的特定条件(用户权限或数据(隐藏/删除。

我尝试了以下方法:

  1. SelModel - 将满足要求 2,但一旦定义就无法操作(见 http://www.sencha.com/forum/showthre...selectionModel(。

  2. CheckColumn - 满足要求 3,但在列标题中没有 checkall 框(请参阅 http://www.sencha.com/forum/showthread.php?265924(。

有没有办法让我实现我想要的?

提前致谢

海西

请参阅我对这个问题的回答:ExtJS 4 选择多个带有复选框标题的复选框

您需要

做的补充是,在网格存储的"update"事件中,您需要手动创建代码,以根据记录中的新值选择具有网格选择模型的行。

我有同样的要求,并且能够使用"Ext.selection.CheckboxModel"功能(Ext 4.2(。基本上,我通过配置对象覆盖渲染器。我正在使用Sencha Architect 3,这是生成的代码:

selModel: Ext.create('Ext.selection.CheckboxModel', me.processMyCheckboxSelectionModel3({}))
processMyCheckboxSelectionModel1: function(config) {
        config.renderer = function(value, metaData, record, rowIndex, colIndex, store, view) {
            var status = record.get('Status');
            if (status  === 'Failed') {
                        var baseCSSPrefix = Ext.baseCSSPrefix;
                        metaData.tdCls = baseCSSPrefix + 'grid-cell-special ' + baseCSSPrefix + 'grid-cell-row-checker';
                        return '<div class="' + baseCSSPrefix + 'grid-row-checker">&#160;</div>';
            } else {
                        return '';
            }
        };
        return config;
}

当我希望渲染器显示复选框时,它返回的内容是从 Reimius 的答案中复制的,这种方法的唯一区别是我使用的是内置的 Ext 4.2's 'Ext.selection.CheckboxModel'。

最新更新