ExtJS 4 - Как добавить цвета фона для столбцов сетки?

У меня есть сетка, в которой мне нужно предоставить разные цвета фона для разных столбцов.

Эти цвета столбцов также не должны быть перезаписаны mouse-over цвет.

Я пытался использовать cls а также tdCls но не повезло.

Кто-нибудь может подсказать, как этого можно достичь?

Заранее спасибо.

3 ответа

Решение

NetEmp прямо здесь, вы хотите рендерер и хотите использовать прямой метод 'style', или я сделал это ниже, используя следующее:

function greyRenderer(lpValue, opMeta, opData) 
{

    if (opData.data["Condition"] == 0) {
        opMeta.attr = "style='color: #aaa';";
    }

    lpValue = Ext.util.Format.htmlEncode(lpValue); 
    return lpValue;
}

Обратите внимание, что здесь я проверяю значение в строке в определенном поле, а затем применяю цвет к тексту переднего плана и HTML-кодирует вывод, очевидно, вы можете просто переключать вещи в соответствии с вашими конкретными требованиями.

Добавить это в любой столбец, который вы хотите изменить цвет

renderer:function(value,metaData){
    metaData.style="background-color:#EAA8A8";
    return value;
},

Вам не нужен рендер для этого. Происходит то, что стиль ExtJS в стиле зебры (x-grid-row-alt) и мышь над стилем имеет приоритет над стилем, который вы определили в tdCls, добавлять !important на цвет фона, и это будет работать. Например:

.my-column-style {
    background-color: blue !important;
}
Другие вопросы по тегам