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

Posted

技术标签:

【中文标题】Ext.Net 3.2 - 全彩色网格面板单元格【英文标题】:Ext.Net 3.2 - Fully color gridpanel cell 【发布时间】:2016-03-16 09:34:40 【问题描述】:

我将使用 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)" />

但我只得到这个结果:

单元格仅部分着色。

有人知道吗?

【问题讨论】:

【参考方案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 代码。

【讨论】:

顺便说一句。我在 Ext.Net here 中找到了方法。 我试过这个:&lt;Renderer Handler="return Ext.String.format('&lt;metaData style=background-color:green;&gt;0&lt;/metaData&gt;', record.data.STATO_VEICOLO)" /&gt; 但结果是一样的 我试试这个&lt;Renderer Handler="return Ext.String.format('&lt;div style=background-color:green; height:100%; padding:0px; width:100%;&gt;0&lt;/div&gt;', record.data.STATO_VEICOLO)" /&gt;,它几乎是完美的......但保留一点白色填充空间......!! 你做错了。请阅读the accepted answer behind the link I provided in the first comment 了解如何制作一个接受两个参数的渲染器;然后在该渲染器中使用我的第二个 sn-p。 谢谢@Alexander!我使用您的建议找到了解决方案。我分享它以帮助遇到同样问题的人。【参考方案2】:

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

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

结果是:

【讨论】:

以上是关于Ext.Net 3.2 - 全彩色网格面板单元格的主要内容,如果未能解决你的问题,请参考以下文章

网格面板中的 EXT.NET 组合框显示值而不是文本

无法在 ext.net 网格面板内的组合框中检索和设置值

当关联的数据库值在 int-Ext.Net 中时,如何在网格面板列中显示文本(字符串)?

渲染 Grid 面板 Ext.Net 的最后一列

ext.net mvc gridpanel 使用具有复杂模型类型的数据源

Swift tableview 单元格单选按钮实现