为多个单元格着色 - 仅读取第一列

时间:2014-05-05 14:47:52

标签: c# asp.net gridview datagridview

我想在C#GridView中更改多列中多个单元格的背景颜色,以便每列都有一组确定适当颜色的条件。到目前为止,我在阅读第一栏时有这个工作,如下所示;

<asp:GridView ID="GridView1" runat="server" CellPadding="10" GridLines="Horizontal" OnRowDataBound="GridView1_RowDataBound">

C#代码背后

    protected void GridView1_RowDataBound(object o, GridViewRowEventArgs e)
    {
        if(e.Row.RowType == DataControlRowType.DataRow)
        {
            string theValue = e.Row.Cells[1].Text;

            if (theValue == "Some Value")
            {
                 e.Row.Cells[2].BackColor = Color.Red; 
            }
            else if (theValue == "Some Other Value")
            {
                e.Row.Cells[2].BackColor = Color.Yellow;
            }
        }   
    } 

但是一旦我将其更改为e.Row.Cells [2] .Text或e.Row.Cells [14] .Text,它就不再能够读取值,即使存在文本!

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

msdn论坛中的

this thread应该有所帮助,但答案片段是VB.NET。

要更准确地获取 theValue ,您可以将this solution与aspx中的templatefield一起使用。