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;
}
我试图找到这个问题的答案,但我找不到。所以我有一个简单的网格,单元格由插件编辑 (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;
}