首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

EXT.net怎么改变 gridpanel中某个column背景颜色

2013-01-04 
EXT.net如何改变 gridpanel中某个column背景颜色本帖最后由 zxt3310 于 2012-12-11 18:16:42 编辑ColumnM

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 XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Ext.NET Example</title>
 
    <script type="text/javascript">
        var testRenderer = function (value, metadata, record, rowIndex, colIndex, store) {
            var color = record.get("colors")[colIndex];
            metadata.attr = String.format('style="background-color:{0};"', color);
 
            return value;
        };
    </script>
</head>
<body>
    <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:GridPanel ID="GridPanel1" runat="server" AutoHeight="true">
            <Store>
                <ext:Store runat="server">
                    <Reader>
                        <ext:ArrayReader>
                            <Fields>
                                <ext:RecordField Name="test1" />
                                <ext:RecordField Name="test2" />
                                <ext:RecordField Name="test3" />
                                <ext:RecordField Name="colors" IsComplex="true" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                </ext:Store>
            </Store>
            <ColumnModel runat="server">
                <Columns>
                    <ext:Column Header="Test1" DataIndex="test1">


                        <Renderer Fn="testRenderer" />
                    </ext:Column>
                    <ext:Column Header="Test2" DataIndex="test2">
                        <Renderer Fn="testRenderer" />
                    </ext:Column>
                    <ext:Column Header="Test3" DataIndex="test3">
                        <Renderer Fn="testRenderer" />
                    </ext:Column>
                </Columns>
            </ColumnModel>
        </ext:GridPanel>
    </form>
</body>
</html>

热点排行