在gridview OnCheckedChange事件中查找复选框列

时间:2018-04-16 09:47:08

标签: c# asp.net gridview checkbox oncheckedchanged

我有几个checkboxes control的gridview列,有autopostback='true'来更新数据库。

enter image description here

当我选中其中一个复选框时,整行都会更新,这让我很沮丧。

我正在尝试找到列的checkbox control而不是整个gridview

我知道Mycheckbox.checked将永远是真的,因为它会查看“所有选中的值”,但我希望它只查看指定的列

是否可以执行Checkbox MyCheckbox = findcontrol(*MyColumn*) ......

之类的操作
protected void myCheckBox_OnCheckedChange(object sender, EventArgs e)
{    
    CheckBox myCheckBox = (CheckBox)sender;
    GridViewRow row = (GridViewRow)myCheckBox.NamingContainer;
    bool status = myCheckBox.Checked;   
    string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
    using (SqlConnection con = new SqlConnection(CS))
    {
        SqlCommand cmd = new SqlCommand("sp_tblPlanningChecked", con);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@PlanningID", row.Cells[1].Text);
        cmd.Parameters.AddWithValue("@ThisWeekMinus2", myCheckBox.Checked);
        cmd.Parameters.AddWithValue("@ThisWeekMinus1", myCheckBox.Checked);
        cmd.Parameters.AddWithValue("@ThisWeek", myCheckBox.Checked);
        cmd.Parameters.AddWithValue("@ThisWeekPlus1", myCheckBox.Checked);
        cmd.Parameters.AddWithValue("@ThisWeekPlus2", myCheckBox.Checked);
        cmd.Parameters.AddWithValue("@ThisWeekMinus3", myCheckBox.Checked);
        cmd.Parameters.AddWithValue("@ThisWeekMinus4", myCheckBox.Checked);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
    }

}

1 个答案:

答案 0 :(得分:1)

请您尝试下面的代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>