首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

真心求帮忙,新手。小弟我想在GridView里实现用CheckBox来控制TextBox控件的编辑功能

2012-10-11 
真心求帮忙,新手。我想在GridView里实现用CheckBox来控制TextBox控件的编辑功能。我想在GridView里实现用Che

真心求帮忙,新手。我想在GridView里实现用CheckBox来控制TextBox控件的编辑功能。
我想在GridView里实现用CheckBox来控制TextBox控件的编辑功能。
即当checked=true时TextBox=Enabled;反之亦然,这样来控制TextBox的可编辑功能。
数据源绑定的是XML,每行都有一个checkbox和TextBox控件。
我想用下面的方法来实现,怎么实现不了呢!
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
  {
  CheckBox chk = (CheckBox)sender;
  DataControlFieldCell dcf = (DataControlFieldCell)chk.Parent;
  GridViewRow gvr = (GridViewRow)dcf.Parent;
   
  int Index = ((GridViewRow)(chk.NamingContainer)).RowIndex;//获得行号
   

  if (chk.Checked)
  {
  ((TextBox)GridView1.Rows[Index].Cells[5].FindControl("TextBox")).Enabled = false;
   
  }
  else
  {
  ((TextBox)GridView1.Rows[Index].Cells[5].FindControl("TextBox")).Enabled = true;
  }

  }
我把代码直接写在flow.aspx的  
 protected void Page_Load(object sender, EventArgs e)
  {

  }下面了。这样行吗?请高手指点。 



[解决办法]
refer:
http://www.cnblogs.com/insus/archive/2012/09/22/2698003.html
[解决办法]
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox cbCheck = GridView1.Rows[i].FindControl("CheckBox1") as CheckBox;
TextBox txt = (TextBox)GridView1.Rows[i].FindControl("TextBox");
if (cbCheck.Checked)
txt.Enabled = false;
else
txt.Enabled = true;
}
}
[解决办法]
实现这样的做法一般是用js控制的,没有必要写那么麻烦

热点排行