Ext.Net 3.2 - 全彩色网格面板单元

时间:2016-03-16 09:34:41

标签: extjs extjs3 ext.net gridpanel

我会使用Ext.Net 3.2框架为网格面板单元着色;我试过渲染:

<ext:Column ID="ColumnSTATO_VEICOLO" runat="server" Width="105" Text="Stato veicolo" DataIndex="STATO_VEICOLO">
    <Renderer Handler="return Ext.String.format('<span style=background-color:green; height:100%; padding:0px; width:100%;>{0}</span>', record.data.STATO_VEICOLO)" />

但我只得到这个结果:enter image description here

其中细胞仅部分着色。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:1)

我不知道Ext.net,但你在做什么在普通的ExtJS中如下:

renderer:function(value, metaData, record) {
  return Ext.String.format('<span style=background-color:green; height:100%; padding:0px; width:100%;>{0}</span>', record.data.STATO_VEICOLO);
}

以及你真正想做的事情,在简单的ExtJS中,如下:

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

您只需将其转换为Ext.net代码即可。

答案 1 :(得分:1)

我找到了解决方案,我希望与社区分享:

<强>的Javascript

<script type="text/javascript">
var ChangevLivUrgenzaColorMetaData = function (value, metaData) {

        var color = '#66ff66';

        if (value.indexOf('0') > -1) {
            color = '#d9d9d9';  //grey  
        }
        else if (value.indexOf('1') > -1) {
            color = '#66ff66';  //green 
        }
        else if (value.indexOf('2') > -1) {
            color = '#ffff80';   //yellow  
        }
        else if (value.indexOf('3') > -1) {
            color = '#ff9900';  //orange  
        }
        else if (value.indexOf('4') > -1) {
            color = '#ff4d4d';  //red 
        }

        metaData.style = "background-color:" + color;
        return value;
    }

<强> Asp.Net

<ext:Column ID="ColumnLIV_URGENZA" runat="server" Text="Livello urgenza" DataIndex="LIV_URGENZA" Width="150">
    <Renderer Fn="ChangevLivUrgenzaColorMetaData" />                                        
</ext:Column>

诀窍是使用:

metaData.style

结果是:

enter image description here