我有一个带有复选框的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如果我选择相同的值,我想取消选中其中一个 .
我的代码不起作用 . 我可以做对吗?!