<datagrid .....>
  <asp:TemplateColumn HeaderText="货品编码" >
  <ItemTemplate>
  <asp:Label id=Label6 runat="server"Width="90px" text='<%#DataBinder.Eval(Container,"DataItem.PBItem")%>'>
  </asp:Label>             </ItemTemplate><FooterTemplate>
  <asp:TextBox id="FT5" runat="server" Width="90px" ></asp:TextBox>
  </FooterTemplate>
  <EditItemTemplate>
  <asp:TextBox id=ET5 runat="server" Width="90px"    text='<%#DataBinder.Eval(Container,"DataItem.PBItem")%>'>
 </asp:TextBox>
 </EditItemTemplate>
</asp:TemplateColumn>
</datagrid .....>如何写"FT5"这个TextBox 的TextChanged呢?目的是想只要FT5写进一个编号,另外的几个TextBox会自动填进相应的内容.下面的TextBox为FT6,FT7. 这个问题很紧,请各位定要帮忙,谢谢!!!!!

解决方案 »

  1.   

    用javascript就好:
    document.form1.txtname.value = document.form1.txtname.value;
      

  2.   

    先在窗体加载时注册事件
    for (int i = 0; i < dg.Items.Count; i++)
    {
    //人事范围
    TextBox txt = (TextBox)dgP.Items[i].FindControl("txt");
    txt.TextChanged += new EventHandler(txt_TextChanged);
    }写完txt.TextChange +=时直接按tab键会自动生成new EventHandler(txt_TextChanged);后面这些话并生成事件下面就可以写事件里的内容了
    private void txt_TextChanged(object sender, EventArgs e)
    {
    //获得当前行索引
    TextBox tb = (TextBox)sender;
    int index = ((DataGridItem)tb.Parent.Parent).ItemIndex;TextBox txt = (TextBox)dg.Items[index].FindControl("txt");
     
    }