【问题标题】:Ext.Net 3.2 - Fully color gridpanel cellExt.Net 3.2 - 全彩色网格面板单元格
【发布时间】: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)" />

但我只得到这个结果:

单元格仅部分着色。

有人知道吗?

【问题讨论】:

    标签: extjs extjs3 ext.net gridpanel


    【解决方案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
    

    结果是:

    【讨论】:

      猜你喜欢
      • 2014-05-01
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多