gpt4 book ai didi

css - 在网格中突出显示带有颜色的线 - ExtJS

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:21 27 4
gpt4 key购买 nike

我尝试获取一些自定义 css 以在 ExtJS 中自定义我的网格。我一直在努力处理 cls 输入,但后来我发现了另一种有效的方法。我想要的是突出显示有关值的整行这是我在 View 中的代码:

Ext.define('AM.view.user.List' ,{
extend: 'Ext.grid.Panel',
alias: 'widget.userlist',
title: 'Test ',
store: 'Users',

initComponent: function() {

this.columns = [
{header: 'ID du CPE', width: 150, dataIndex: 'ID', flex: 0},
{header: 'Modèle', dataIndex: 'Modele', flex: 1},
{header: 'Firmware', dataIndex: 'firmware', flex: 1},
{header: 'Année MeS', dataIndex: 'annee', flex: 1},
{header: 'Alerte', dataIndex: 'statut', hidden: true, hideable: false, flex: 0},
{header: 'Etat', id:'CC', dataIndex: 'alerte', flex: 0, width: 100}

CSS 中有我的代码:

.x-grid-table .x-grid-row-selected  .x-grid-cell-CC {
background-color: #1DAE00 !important; }
.x-grid-table .x-grid-row-over .x-grid-cell-CC {
background-color: #1DAE00 !important; }

目前,它有效(id=CC 创建与 css 文件的链接)。当我将鼠标移到一行上或单击一行时,“Etat”列中的相关值以绿色突出显示。我尝试了 cls 方法,但没有成功使其工作。主要原因是,在我找到的所有教程中,经典的做法是:

Ext.create('Ext.grid.Panel', { 
cls: 'CC',

但就我而言,我有:

Ext.define('AM.view.user.List' ,{
extend: 'Ext.grid.Panel',

而且我不知道将 cls 属性放在哪里。我尝试了几种方法,但总是以错误告终。

所以这是我的两个问题:1- 如何突出显示整行(不仅是单个列中的一行)2- 如何自动突出显示与此行中包含的值相关的整行?

抱歉,如果不是很清楚 :s。

最佳答案

您需要提供一个 getRowClass GridView 配置中的方法。像这样:

    ,viewConfig: {
getRowClass: function(record) {
return record.get('highlight')
? 'highlight'
: '';
}
}

这是一个关于如何在从网格面板扩展的类中做到这一点的完整示例:

Ext.define('My.Grid', {
extend: 'Ext.grid.Panel'

,store: {
fields: ['foo', 'bar', 'highlight']
,proxy: {
type: 'memory'
,reader: 'array'
}
,data: [[1, 'Bar', false],[2, 'Baz', false],[3, 'Bat', true]]
}

,columns: [
{dataIndex: 'foo', text: "Foo"}
,{dataIndex: 'bar', text: "Bar"}
,{dataIndex: 'highlight', text: "Highlighted"}
]

,viewConfig: {
getRowClass: function(record) {
return record.get('highlight')
? 'highlight'
: '';
}
}
});

这将适用于以下 CSS 规则。请注意用于捕获突出显示行的选择器(.x-grid-row.highlight 没有空格),以及背景应用于背景 TD,而不是直接应用于 TR 元素的事实,这不会工作。

.x-grid-row.highlight .x-grid-td {
background-color: palegreen;
}

关于css - 在网格中突出显示带有颜色的线 - ExtJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com