根据条件提供Gridview单元格字体颜色

vim*_*vim 0 c# asp.net gridview

如何根据条件为gridview的单元格文本赋予颜色.我有一个下面的gridview,我正在通过代码后面的gridview中获取数据.

 <asp:GridView ID="GridView3" runat="server" AllowPaging="true" PageSize="5"
   AutoGenerateColumns="false"  Width="100%" OnPageIndexChanging="GridView3_PageIndexChanging"
   CssClass="Grid">
                   <RowStyle CssClass="GridRow"/>
                     <Columns>
                         <asp:BoundField HeaderText="No" DataField="id" Visible="false"/>
                         <asp:BoundField HeaderText="Scenario" DataField="Scenario"/>
                         <asp:BoundField HeaderText="Type" DataField="Type"/>
                         <asp:BoundField HeaderText="Station Name" DataField="StationName"/>
                         <asp:BoundField HeaderText="Parameter" DataField="PARAM"/>
                         <asp:BoundField HeaderText="Value" DataField="Value"
                         SortExpression="Value" DataFormatString="{0:F2}"/>
                    </Columns>
                     <PagerStyle BackColor="White" Height="40px" Font-Bold="true" Font-
                      Size="Medium" ForeColor="Green" HorizontalAlign="Center"/>
                      <PagerSettings FirstPageText="First" LastPageText="Last" 
                      Mode="NumericFirstLast" PageButtonCount="3" />
                      <HeaderStyle BackColor="#ABDB78" ForeColor="Black" Height="35px" Font-
                      Size="13px" Font-Names="verdana"/>
                </asp:GridView>
Run Code Online (Sandbox Code Playgroud)

我通过后面的代码绑定数据与此网格.

   protected void ReservGridBind()
    {
        string name = Request.QueryString[1].ToString();

        string query = "SELECT SD.id,SD.Scenario,SD.Value,PR.Type,PR.StationName,PR.PARAM 
        from sgwebdb.param_reference as PR Inner join sgwebdb.scenario_data as SD 
        ON PR.Param_Id=SD.Param_Id INNER JOIN sgwebdb.qualicision_detail as Q 
        ON SD.SCENARIO=Q.Alternative where PR.Type='Reservoirs' and Q.Alternative='" + name +"'";

        this.GridView1.DataSource = PSI.DataAccess.Database.DatabaseManager
                                    .GetConnection().GetData(query);
        GridView1.DataBind();

    condition :
    if  number < 0.0 then blue colour ,
     number > 0.0 && text < 4.0 then green colour,
      number > 4.0 then red colour.

    Please help me for this gridview's cell text colour.
Run Code Online (Sandbox Code Playgroud)

Has*_*san 6

加价:

<asp:GridView ID="GridView3" runat="server" 
    AllowPaging="true" PageSize="5"
    AutoGenerateColumns="false" 
    Width="100%" 
    OnRowDataBound="GridView3_RowDataBound"       
    OnPageIndexChanging="GridView3_PageIndexChanging"
    CssClass="Grid">
Run Code Online (Sandbox Code Playgroud)

代码背后:

protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e)
{
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
         int iText =  Convert.ToInt32(e.Row.Cells[4].Text);

         if (iText < 0)
             e.Row.Cells[4].ForeColor = System.Drawing.Color.Blue;             
         else if (iText > 0 && iText < 4)             
             e.Row.Cells[4].ForeColor = System.Drawing.Color.Green;
         else if (iText > 4)           
             e.Row.Cells[4].ForeColor = System.Drawing.Color.Red;            
     }
}
Run Code Online (Sandbox Code Playgroud)