在ASP.Net中选中同一复选框时,取消选中Gridview复选框

时间:2018-11-12 08:48:07

标签: c# asp.net

我有一个带有复选框的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行。此后,如果选择相同的值,则要取消选中其中一个。

我的代码不起作用。我该怎么办?!

0 个答案:

没有答案