怎样让现实在gridview中一个字段的数据重复出现的时候就显示其他的颜色,请大家给点详细的代码.谢谢

解决方案 »

  1.   

    指定为红色  ----------------16.GridView突出显示某一单元格(例如金额低于多少,分数不及格等)效果图:解决方案:主要是绑定后过滤
     GridView1.DataBind();
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                DataRowView mydrv = myds.Tables["飞狐工作室"].DefaultView[i];
                string score = Convert.ToString(mydrv["起薪"]);
                if (Convert.ToDouble(score) < 34297.00)//大家这里根据具体情况设置可能ToInt32等等
                {
                    GridView1.Rows[i].Cells[4].BackColor = System.Drawing.Color.Red;
                }
            }
            sqlcon.Close();全部后台代码:using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    using System.Drawing;public partial class Default7 : System.Web.UI.Page
    {
        SqlConnection sqlcon;
        SqlCommand sqlcom;
        string strCon = "Data Source=(local);Database=北风贸易;Uid=sa;Pwd=sa";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                bind();        }
        }
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            bind();
        }
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            sqlcon = new SqlConnection(strCon);
            string sqlstr = "update 飞狐工作室 set 姓名='"
                + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',家庭住址='"
                + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where 身份证号码='"
                + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
            sqlcom = new SqlCommand(sqlstr, sqlcon);
            sqlcon.Open();
            sqlcom.ExecuteNonQuery();
            sqlcon.Close();
            GridView1.EditIndex = -1;
            bind();
        }
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            bind();
        }
        public void bind()
        {
            string sqlstr = "select top 10 * from 飞狐工作室";
            sqlcon = new SqlConnection(strCon);
            SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
            DataSet myds = new DataSet();
            sqlcon.Open();
            myda.Fill(myds, "飞狐工作室");
            GridView1.DataSource = myds;
            GridView1.DataKeyNames = new string[] { "身份证号码" };
            GridView1.DataBind();
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                DataRowView mydrv = myds.Tables["飞狐工作室"].DefaultView[i];
                string score = Convert.ToString(mydrv["起薪"]);
                if (Convert.ToDouble(score) < 34297.00)//大家这里根据具体情况设置可能ToInt32等等            {
                    GridView1.Rows[i].Cells[4].BackColor = System.Drawing.Color.Red;
                }
            }
            sqlcon.Close();
        }
    }
      

  2.   

    前台代码:<!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 id="Head1" runat="server">
        <title>GridView突出显示某一单元格 清清月儿http://blog.csdn.net/21aspnet </title>
    </head>
    <body >
        <form id="form1" runat="server">
        <div  >
                       <asp:GridView ID="GridView1" runat="server"    AutoGenerateColumns="False" CellPadding="3"  OnRowEditing="GridView1_RowEditing"
                            OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" Font-Size="12px"  >
                            <FooterStyle BackColor="White" ForeColor="#000066" />
                            <Columns>
                                <asp:CommandField HeaderText="编辑" ShowEditButton="True" />
                                <asp:BoundField DataField="身份证号码" HeaderText="编号" ReadOnly="True" />
                                <asp:BoundField DataField="姓名" HeaderText="姓名"  />
                                <asp:BoundField DataField="出生日期" HeaderText="邮政编码"  />
                                 <asp:BoundField DataField="起薪" HeaderText="起薪"  DataFormatString="{0:C}" HtmlEncode="false"/>
                                <asp:BoundField DataField="家庭住址" HeaderText="家庭住址"  />
                                <asp:BoundField DataField="邮政编码" HeaderText="邮政编码" />
                               
                            </Columns>
                            <RowStyle ForeColor="#000066" />
                            <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
                            <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left"  CssClass="ms-formlabel DataGridFixedHeader"/>
                            <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
                        </asp:GridView>
            </div>    </form>
    </body>
    </html>
      

  3.   

    你在页面中定义一个集合对象
    可以泛型的list
    IList<string>  list=new List<string>();然后在GridView 的 RowDataBound 事件中
    如果是 数据行的话 就往集合中 加指定列的值
    同时判断是否在集合中存在,如果存在就不加,并把对应的单元格颜色改变
      

  4.   

     <asp:Repeater ID="Repeater2" runat="server" OnItemDataBound="Repeater2_ItemDataBound">
                    <ItemTemplate>
                    <h3><span><%# DataBinder.Eval (Container .DataItem ,"typename") %></span></h3>
                    <ul>
                        <asp:Repeater ID="Repeater3" runat="server">
                        <ItemTemplate>
                       <li><a href="" target="_blank"><%# DataBinder.Eval (Container .DataItem ,"typename") %></a></li></ItemTemplate>
                       <AlternatingItemTemplate>
                       <li>|</li>
                       <li><a href="" target="_blank"> <%# DataBinder.Eval (Container .DataItem ,"typename") %></a></li>
                       </AlternatingItemTemplate>
                       </asp:Repeater>
                    </ul>
                    </ItemTemplate>
    设置两种样式 替换
      

  5.   

    不是这个意思,比如字段A中有12  23   12   23   45   66  66
    这样在 gridview中12    12   23    23   66   66都显示红色
      

  6.   

    你是绑定的datatable还是sqldatasource还是其他
      

  7.   

    在GridView的RowDataBound进行,如绑定是非模板列,代码如下:
         protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
         {
             if (e.Row.RowType == DataControlRowType.DataRow)
             {
                 for (int i = 0; i < e.Row.Cells.Count; i++)
                 {
                     for (int j = i + 1; j < e.Row.Cells.Count - 1; j++)
                     {
                         if (e.Row.Cells[i].Text == e.Row.Cells[j].Text)
                         {
                             e.Row.Cells[i].ForeColor = System.Drawing.Color.Red;
                             e.Row.Cells[j].ForeColor = System.Drawing.Color.Red;
                         }
                     }
                 }
             }
         }
      

  8.   

    我写个客户端的,假设以下是你生成的gridview的html
        <table id="GridView1" border="1">
                <tr>
                    <td>
                        A
                    </td>
                </tr>
                <tr>
                    <td>
                        B
                    </td>
                </tr>
                <tr>
                    <td>
                        C
                    </td>
                </tr>
                <tr>
                    <td>
                        A
                    </td>
                </tr>
                <tr>
                    <td>
                        C
                    </td>
                </tr>
                <tr>
                    <td>
                        D
                    </td>
                </tr>
            </table>
      

  9.   

    <script>
         String.prototype.Trim = function()
       {
           return this.replace(/(^\s*)|(\s*$)/g,"");
       }  
       
        var tb = document.getElementById("GridView1");
        var ary = new Object();
        for(var i = 0 ;i<tb.rows.length;i++)
        {
            var value = tb.rows[i].cells[0].innerHTML.Trim();
     
            if(ary[value] == null)
            {
                ary[value] = tb.rows[i].cells[0];
            }else
           {
               ary[value].style.color="red";
               tb.rows[i].cells[0].style.color="red"
           } 
        }   
      
    </script>