问题描述
gridview中如何实现两个模板列中textbox控件的实时变换呢?类似TextChanged比如在模板列中有两个控件textbox1和textbox2如何实现当textbox1的值发生变化以后textbox2的值马上就变成textbox1的值乘以二就是下面的代码怎么能够在textbox1的值发生变化后改变焦点时马上实现呢??多谢各位大侠~for(i=0,i<10,i++){TextBoxtextbox1=(TextBox)GridView1.Rows[i].Cells[2].FindControl("textbox1");stringstextbox1=textbox1.Text;Doubledd=Convert.ToDouble(stextbox1)*2TextBoxtextbox2=(TextBox)GridView1.Rows[i].Cells[3].FindControl("textbox2");textbox2.Text=dd.tostring();}
解决方案
解决方案二:
textbox1有TextChanged在里面写{TextBoxtb1=(TextBox)snder;TextBoxtb2=tb1.parent.findcontrol("textbox2")asTextBoxl;tb2.Text=tb1.Text;}
解决方案三:
这个只能用后台注册js来做页面head标签内写如下代码functiondisplay(id1,id2){varx=document.getElementById(id1).value;document.getElementById(id2).value=x*2;---可能需要转换成数值类型}后台的gridview的onrowdatabound事件写如下代码if(数据行){TextBoxtextbox1=(TextBox)e.Row.Cells[2].FindControl("textbox1");TextBoxtextbox2=(TextBox)e.Row.Cells[3].FindControl("textbox2");textbox1.attributes.add("onblur","display('"+textbox1.clientid+"','"+textbox1.clientid+"')");---这个是textbox1失去焦点会触发display}
解决方案四:
在onpropertychange里写JS