复选框在gridview中检查了事件

时间:2013-10-11 05:03:22

标签: c# gridview checkbox

我有两个绑定字段的gridview和项目模板上的模板我有一个复选框现在我想检查选中的复选框并想要检索复选框文本我在行数据绑定中找到控件但问题是尽快我调试代码doest不继续,它在这个事件下循环:

protected void ProdView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        CheckBox ch1 = (CheckBox)e.Row.FindControl("CheckBox1");
        if (ch1.Checked == true)
        {
            Session["rechargeid"] = ch1.Text;
        }
    }
}

并且没有继续可以有人建议我这样做的可能方法....?

2 个答案:

答案 0 :(得分:0)

foreach (GridViewRow rw in gv_discpoint.Rows)
{
    CheckBox chkfill = (CheckBox)rw.FindControl("txtchk");
    TextBox txtaction = (TextBox)rw.FindControl("txtAction");
    TextBox txttarget = (TextBox)rw.FindControl("txttarget");
    if (chkfill.Checked == true)
    { // do something }
    else if (chkfill.Checked == false)
    { // do something }
}

答案 1 :(得分:0)

当数据绑定到网格视图时,FYI RowDataBound事件有效。例如,如果要将数据表绑定到网格视图,并且数据表有5行,RowDataBound将触发5次(有时更多)。

从提出你的问题开始,你需要的是一些回复方法(通过按钮点击)获取所有选中复选框的文本。如果您要保留一个按钮,单击该按钮应该可以获取您的需求,代码将是以下

 protected void button_Click(object sender, EventArgs e)
 {

       for(int i=0; i<gridView.Rows.Count; i++)
       {
           CheckBox cb = (CheckBox)gridView.Rows[i].FindControl("CheckBox1");
           if (cb.Checked == true)
           {

               // use cb.Text to retrieve the checkbox text
           }

       }
 }