2011-08-16 134 views
0

我正在寻找一种方法来更改数据网格内的备用行上的字体颜色。例如正常的行将是绿色的,交替的行将是蓝色的。GridView中更改行中的字体颜色

我可以通过使用

  • me.datagrid.Styles.Row.Forcolour
  • me.datagrid.Styles.AlternatingRow.Forcolour

问题的变化是,我有麻烦使用它们两者,因为我需要操纵两种颜色。我创建了一个HtmlRowPrepared事件并将它们设置在那里,但是,如果我先设置了Row.Forcolour,则它将骑在AlternatingRow.Forcolour上,反之亦然。

只有在颜色选择保存在数据库中时,才需要通过SEVER SIDE代码完成此操作。

如果你能帮助我,我将非常感激。

非常感谢

回答

1

一个GridView有样式属性,你可以在HTML声明。

<asp:GridView id="GridView1" runat="server"> 
    <AlternatingRowStyle BackColor="Black" ForeColor="White" CssClass="alternating-row" /> 
    <RowStyle BackColor="White" ForeColor="Black" CssClass="row" /> 
</asp:GridView> 

在这些标签可以声明所有你需要,还加入了的CssClass每个。我建议只使用CssClass,然后更新样式表中的样式。这对于将来更新样式更好。

+0

它需要是动态的,并通过服务器端代码的样式选项都在一个数据库中保存 – tony

+0

我的坏,我试图操纵是被设计成只在事件内整个网格视图控件影响单排。为了解决这个问题,我在加载事件中使用了两个属性,并解决了我的问题。 感谢您的帮助 – tony

1

,请复制粘贴一些代码,以便我们能理解,你是怎么做的这个 也可以设置这些值,其中定义您的控制aspx页面

 <ItemStyle ForeColor="Green"/> 
    <AlternatingItemStyle ForeColor="Blue" /> 

我敢肯定,这将工作,如果它不请粘贴代码为更好地理解

+0

我需要通过服务器端代码来做到这一点,因为一切都在数据库中 – tony

+0

我的不好,我试图操纵整个网格视图控制内的一个事件,旨在只影响单行。为了解决这个问题,我在加载事件中使用了两个属性,并解决了我的问题。 感谢您的帮助 – tony

+0

ItemStyle/AlternatingItemStyle应该是RowStyle/AlternatingRowStyle如果它是一个GridView的问题说,但随后问题的内容是指数据网格 –