真心求帮忙,新手。我想在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控制的,没有必要写那么麻烦