C# 在gridview asp.net中高亮显示重复项

C# 在gridview asp.net中高亮显示重复项,c#,asp.net,sql-server,gridview,C#,Asp.net,Sql Server,Gridview,我试图检测sql数据中的重复项,并在gridview中突出显示它们,但颜色没有改变。 我创建了BindGrid方法,并在Page_Load方法中调用了该方法。 BindGrid运行良好,但HighlightRow根本不工作。 需要帮忙吗 asp: C代码: protected void HighlightRow(object sender, GridViewRowEventArgs e) { if(e.Row.RowType == DataControlRowType.D

我试图检测sql数据中的重复项,并在gridview中突出显示它们,但颜色没有改变。 我创建了BindGrid方法,并在Page_Load方法中调用了该方法。 BindGrid运行良好,但HighlightRow根本不工作。 需要帮忙吗

asp:

C代码:

protected void HighlightRow(object sender, GridViewRowEventArgs e)
    {
        if(e.Row.RowType == DataControlRowType.DataRow)
        {   
            for (int current = 0; current < GridView1.Rows.Count - 1; current++)
            {
                GridViewRow compareRow = GridView1.Rows[current];
                for (int next = current+1; next < GridView1.Rows.Count; next++)
                {
                    GridViewRow row = GridView1.Rows[next];
                    bool duplicateRow = true;
                    for (int i = 0; i < GridView1.Columns.Count; i++) {                         
                        if ((compareRow.Cells[i].Text) != (row.Cells[i].Text))
                        {
                            duplicateRow = false;
                            break;
                        }
                        if (!duplicateRow)
                        {
                            e.Row.BackColor = System.Drawing.Color.Red;
                            row.BackColor = System.Drawing.Color.Red;
                            compareRow.BackColor = System.Drawing.Color.Red;
                            duplicateRow = true;
                        }
                    }

                }
            }
        }
    }

也许你已经检查并调试过了?它是否进入if!duplicateRow。?您可能需要更新RowDataBound上的事件处理程序。。每行都调用了此方法。。。数据绑定怎么样?如果我改变了!duplicateRow到如果duplicateRow但仍接收相同的结果Plus数据绑定不工作。。。
protected void HighlightRow(object sender, GridViewRowEventArgs e)
    {
        if(e.Row.RowType == DataControlRowType.DataRow)
        {   
            for (int current = 0; current < GridView1.Rows.Count - 1; current++)
            {
                GridViewRow compareRow = GridView1.Rows[current];
                for (int next = current+1; next < GridView1.Rows.Count; next++)
                {
                    GridViewRow row = GridView1.Rows[next];
                    bool duplicateRow = true;
                    for (int i = 0; i < GridView1.Columns.Count; i++) {                         
                        if ((compareRow.Cells[i].Text) != (row.Cells[i].Text))
                        {
                            duplicateRow = false;
                            break;
                        }
                        if (!duplicateRow)
                        {
                            e.Row.BackColor = System.Drawing.Color.Red;
                            row.BackColor = System.Drawing.Color.Red;
                            compareRow.BackColor = System.Drawing.Color.Red;
                            duplicateRow = true;
                        }
                    }

                }
            }
        }
    }