C# 若行可见,则更改gridview中每第二行的背景

C# 若行可见,则更改gridview中每第二行的背景,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个gridview,在RowDataBound上,我使用此代码更改每一行的背景,以便更好地阅读gridview: if (e.Row.RowIndex % 2 != 0) { e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#f2f2f2"); } 之后,我使用下拉列表仅显示我的网格视图的相关行,并隐藏(visible=false)我不想

我有一个
gridview
,在
RowDataBound
上,我使用此代码更改每一行的背景,以便更好地阅读
gridview

 if (e.Row.RowIndex % 2 != 0)
            {
                e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#f2f2f2");
            }
之后,我使用
下拉列表
仅显示我的
网格视图的相关行
,并隐藏
(visible=false)
我不想显示的行。行号不会更改,因此不同的背景不会与现在的每一行匹配


现在,我希望只获取可见行的行号,以更改每一行的颜色。谢谢

尝试gridView的AlternatingRowStyle属性


有关msdn的文档可帮助您入门。

您可以使用以下内容中提到的CSS技术:

样式类将应用于GridView本身:

<asp:GridView ID="GridView1" runat="server" CssClass="alternatingRows" ... >


谢谢,但是结果还是一样的,我只隐藏了行(
visible=false
)而没有删除它们。那么,请尝试从您的codeback文件中更改AlternatingRowStyle属性。在此之后,将行的可见性指定为false,并将gridview的alternatingrowstyle属性设置为所需的任何属性。现在我在C#中工作过,所以在C#中,您可以这样做
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor=Color.DarkGray更多信息-康纳斯范的答案对我有用+1无论如何。谢谢
<asp:GridView ID="GridView1" runat="server" CssClass="alternatingRows" ... >