日期:2014-05-16  浏览次数:20740 次

EXT.net如何改变 gridpanel中某个column背景颜色
本帖最后由 zxt3310 于 2012-12-11 18:16:42 编辑
    
<ColumnModel ID="ABC" runat="server">
    <Columns>
        <ext:RowNumbererColumn Width="30" />
        <ext:Column Header="主键" Sortable="true" Hidden="true" DataIndex="nid" />
        <ext:Column Header="XXX类型" Sortable="true" DataIndex="ctype" />
        <ext:Column Header="简称" Sortable="true" DataIndex="nshort" />
        <ext:Column Header="类型顺序" Sortable="true" DataIndex="nsort" />
        <ext:Column ColumnID="color" Header="标识颜色" Sortable="true" DataIndex="ccolor"/>
        <ext:Column Header="状态" Sortable="true" DataIndex="nflag">
             <Renderer Handler="return ((value ==1 ) ? '有效':'无效')" />
        </ext:Column>
    </Columns>   
</ColumnModel>  
其中,标识颜色 在数据库中以#FF11FF33这样的颜色代码字符串存储。我想让“标识颜色”这列对应其数据在表中显示对应的颜色 能让背景颜色变化就行 我不知道如何改。 如果有插入按钮然后再把按钮颜色变一下这种类似的方法也行,反正不管什么手段能达到这个目的就行。            
------解决方案--------------------
上面的例子是回帖临时写的,如果解释的不太清楚不好意思。 这里有比较完整是动态改变每个cell背景颜色css的例子,希望对你有帮助。


<%@ Page Language="C#" %>
  
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
 
<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!X.IsAjaxRequest)
        {
            Store store = this.GridPanel1.GetStore();
            store.DataSource = new object[] 
            { 
                new object[] { "test1", "test2", "test3", new string[] { "red", "yellow", "green" } },
                new object[] { "test4", "test5", "test6", new string[] { "green", "red", "yellow" } },
                new object[] { "test7", "test8", "test9", new string[] { "yellow", "green", "red" } },
            };
            store.DataBind();
        }
    }
</script>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XH