我有一个带有复选框的Gridview . 现在我想这样做:当我选择一个已经预选的重复行时,其中一行自动取消选中 . 这是我的代码:

protected void Unnamed_CheckedChanged(object sender,EventArgs e){int G = GridView1.Rows.Count;

if ((GridView1.FindControl("chkSelect") as CheckBox).Checked == true)
        {
            for (int i = G; G < 1; i++)
            {
                foreach (GridViewRow row in GridView1.Rows)
                {
                    CheckBox chkRow1 = (row.Cells[i].FindControl("chkSelect") as CheckBox);
                    for (int j=G; G<1; j++)
                    {
                        CheckBox chkRow2 = (row.Cells[j].FindControl("chkSelect") as CheckBox);
                        if (chkRow1 != chkRow2)
                        {
                            (row.FindControl("chkSelect") as CheckBox).Checked = true;
                        }
                        else
                        {
                            (row.FindControl("chkSelect") as CheckBox).Checked = false;
                        }
                    }

                }

            }
        }
    }

这是我的gridview的示例数据

DataTable dt = new DataTable();
        dt.Columns.AddRange(new DataColumn[] { new DataColumn("PageName") });
        dt.Rows.Add("John Hammond");
        dt.Rows.Add("Rick Stewards");
        dt.Rows.Add("Huang He");
        dt.Rows.Add("Mudassar Khan");
        dt.Rows.Add("John Hammond");
        dt.Rows.Add("Rick Stewards");
        dt.Rows.Add("Huang He");
        dt.Rows.Add("Mudassar Khan");
        GridView1.DataSource = dt;
        GridView1.DataBind();

例如,首先,我检查了John Hammond row.after如果我选择相同的值,我想取消选中其中一个 .

我的代码不起作用 . 我可以做对吗?!