ExtJS 4 - How to add background colors to columns of a grid?

两盒软妹~` 提交于 2019-12-07 01:21:28

问题


I have a grid in which I need to provide different background colors to various columns.

These column colors should also not be overwritten by the mouse-over color.

I have tried using cls and tdCls but no luck.

Could anyone guide at how this could be achieved?

Thanks in advance.


回答1:


NetEmp is right here, you want a renderer and you want to use the direct 'style' method or I did it below using the following:

function greyRenderer(lpValue, opMeta, opData) 
{

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

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

Note here I check the value on the row in a particular field and then apply the colour to the foreground text and html encode the output, you can obviously just switch things to your specific requirements.




回答2:


add this to whatever column you want to change color

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



回答3:


You do not need a renderer for this. What's happening is that ExtJS's zebra striping style (x-grid-row-alt) and mouse over style take precedence over the style you defined in tdCls. Add !important to the background color and it'll work. For example:

.my-column-style {
    background-color: blue !important;
}


来源:https://stackoverflow.com/questions/7444182/extjs-4-how-to-add-background-colors-to-columns-of-a-grid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!