C# 在gridview asp.net中高亮显示重复项
我试图检测sql数据中的重复项,并在gridview中突出显示它们,但颜色没有改变。 我创建了BindGrid方法,并在Page_Load方法中调用了该方法。 BindGrid运行良好,但HighlightRow根本不工作。 需要帮忙吗 asp: C代码: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
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;
}
}
}
}
}
}