ExtJS 4 - 网格选择的单元格颜色

ExtJS 4 -grid selected cell color

我试图找到这个问题的答案,但我找不到。所以我有一个简单的网格,单元格由插件编辑 (Ext.grid.plugin.CellEditing)。所以在这种情况下,我看到选定的单元格显示在 "bluebox" 中。

但是我不想看到这样的选择,我想改变这个背景。有什么建议吗

谢谢 Jadhav,我在这个网格中看到了第二个问题。我只想编辑两列:

这个数字带有灰色背景和这个复选框。第一个工作正常但是这个复选框没有(当我选中它并转到其他地方时选中的位置变为未选中状态)并且无法设置与我为带数字的列设置的背景相同的背景。这是由以下人员完成的:

renderer: function(value, meta) {
          meta.style = "background-color:lightgray;";
      }    

这个方法,在复选框列给我这个:

为什么以及如何解决这个问题?


好的,由于您的帮助,几乎可以,但是当我通过 css 更改背景时,我看到以下结果(摘要行也是,部分背景颜色')但仍然不知道为什么以及如何更正它:

您可以对 CellEditing 中的选定单元格使用 css 来实现。

在这个 Fiddle 中,我使用 CellEditing 插件创建了一个演示。

代码片段:

Ext.application({
    name: 'Fiddle',

    launch: function () {
        Ext.create('Ext.data.Store', {
            storeId: 'demostore',
            fields: ['name', 'email', 'phone'],
            data: [{
                name: 'Lisa',
                email: 'lisa@simpsons.com',
                phone: '555-111-1224'
            }, {
                name: 'Bart',
                email: 'bart@simpsons.com',
                phone: '555-222-1234'
            }, {
                name: 'Homer',
                email: 'homer@simpsons.com',
                phone: '555-222-1244'
            }, {
                name: 'Marge',
                email: 'marge@simpsons.com',
                phone: '555-222-1254'
            }]
        });

        Ext.create('Ext.grid.Panel', {
            title: 'Demo Data',
            store: 'demostore',
            cls:'my-grid',
            columns: [{
                header: 'Name',
                dataIndex: 'name',
                editor: 'textfield'
            }, {
                header: 'Email',
                dataIndex: 'email',
                flex: 1,
                editor: {
                    xtype: 'textfield',
                    allowBlank: false
                }
            }, {
                header: 'Phone',
                dataIndex: 'phone'
            }],
            selType: 'cellmodel',
            plugins: {
                ptype: 'cellediting',
                clicksToEdit: 1
            },
            height: 200,
            renderTo: Ext.getBody()
        });
    }
});

CSS

<style>
    .my-grid .x-grid-cell-selected{
        background-color: transparent !important;
    }
</style>

您还使用了单元格编辑器组件模糊事件的另一种方法。你需要把这个放在代码下面

var selectionModel = grid.getSelectionModel();
selectionModel.deselect(selectionModel.selection.record)

只需覆盖 inline css,这样您就可以更改背景颜色,即

.x-grid-row-selected .x-grid-td {
    background: #ffffff;
}