GridView单击行 选择checkbox

最主要就是在后台重写render事件:

  protected override void Render(HtmlTextWriter writer)
    {
        foreach (GridViewRow row in this.GridFreight.Rows)
        {


            if (row.RowType == DataControlRowType.DataRow)
            {


                row.Attributes["onclick"] = ClientScript.GetPostBackEventReference(this.GridFreight, "Select$" + row.RowIndex.ToString(), true);


                row.Attributes["style"] = "cursor:pointer";


                row.Attributes["title"] = "单击选择行";


            }


        }


        base.Render(writer);


    }



相应的 添加gridview的 

protected void GridFreight_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
        ViewState["tmpID"] = e.NewSelectedIndex.ToString();


    }
    protected void GridFreight_SelectedIndexChanged(object sender, EventArgs e)
    {
        int itmpid = int.Parse(ViewState["tmpID"].ToString());


        CheckBox cb = (CheckBox)this.GridFreight.Rows[itmpid].FindControl("checkbox1");
        if (cb.Checked)
        {
            cb.Checked = false;
        }
        else
        {
            cb.Checked = true;
        }
    }

posted @ 2011-11-23 14:44  litao6664  阅读(173)  评论(0编辑  收藏  举报