我有一个带有复选框的Gridview。现在,我要执行以下操作:当我选择了已被预先选择的重复行时,该行之一将自动取消选中。这是我的代码:
受保护的void Unnamed_CheckedChanged(对象发送者,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行。此后,如果选择相同的值,则要取消选中其中一个。
我的代码不起作用。我该怎么办?!