我在一个datagrid控件当中,加入了三列模板列
模板列里我加上了文本框
运行起来比如有十行,
比如用户在第一行输入了两个数
哪么我想用角本在客户端计算出这两个数之和,放到第三个文本框中
怎么弄呀?
我不知道怎么写角本?因为第一行的文本框的ID都不一样

解决方案 »

  1.   

    可以
    你可以在第一/二个输入框中,写脚本事件,当焦点失去时进行计算
    具体代码如下:先绑定控件
    再立即执行如下语句
    for(int i=0;i<this.datagrid1.Items.Count;i++)
    {
    //求取控件
    TextBox txt1 = this.DataGrid1.Items[i].FindControl("txt1");
    TextBox txt2 = this.DataGrid1.Items[i].FindControl("txt2");
    TextBox txt3 = this.DataGrid1.Items[i].FindControl("txt3");
    //为第1/2个控件做事件
    txt1.Attributes.Add("onblur","document.all('" + txt3.ClientID + "').value = this.value = document.all('" + txt2.ClientID + "').value;");
    txt2.Attributes.Add("onblur","document.all('" + txt3.ClientID + "').value = this.value = document.all('" + txt1.ClientID + "').value;");
    }如此,当第1/2个输入框输入完成而且失去焦点之后,则值即会出现在第三个输入框里面
    以上写法仅仅是个示例,并未考虑更多情况,你可自行补充.