
你已经在 CheckBox1_CheckedChanged 在这个事件下写代码了,就不需要判断CheckBox1.checked 是否等于True了选中了就会执行该代码.. 这是其一。【至于你想判断是选中的哪一行就必须在Gridview行绑定的时候给CheckBox1付值如代码1】
其二:找Gridview中的控件是ASP.NET的基本功 你得好好学。
举个例子:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow gr = e.Row
if (e.Row.RowType == DataControlRowType.DataRow)
{
//绑定数据行
GridView _Fist_GridView_Message = (GridView)gr.FindControl("Gr_Message_First") //第一列详细信息
}
if (e.Row.RowType == DataControlRowType.Header)
{
//绑定标题行
GridView _Fist_GridView_Tiltle = (GridView)e.Row.Cells[0].Controls[1]
}
if (e.Row.RowType == DataControlRowType.Footer)
{
//绑定脚注行
Label Lb_Second = (Label)e.Row.Cells[0].FindControl("Lb_Score_Average_Second") //第一列脚注
}
}
代码1:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) //确定绑定类型
{
GridViewRow gr = e.Row
CheckBox cbox = (CheckBox )gr.FindControl("CheckBox1")//当Gridview绑定一行就会找一行,那么就可以给每一行中的CheckBox绑定一个索引,或者GridView行中的数据
//比如:
cbox.Text = "xxx"
}
}
if (CheckBox1.Checked == true)改为if(((CheckBox)sender).Checked)具体代码://如果全选的CheckBox被选中的话,循环GridView找到第三列所有的checkbox名为cb的控件使它都选中int iif(((CheckBox)sender).Checked){for(i=0i<GridView1.Rows.Counti++){((CheckBox)GridView1.Rows[i].FindControl(cb)).Checked=true}}else{for(i=0i<GridView1.Rows.Counti++){((CheckBox)GridView1.Rows[i].FindControl(cb)).Checked=false}}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)