你需要加一个判断:
If(e.Item.ItemType = ListItemType.EditItem)
    '代码放这里
End IF

解决方案 »

  1.   

    直接在text加上onclick
    <asp:TextBox id="TextBox2" runat="server" onclick="return OnChange(this)"  Text='<%# DataBinder.Eval(Container.DataItem,"交货日期")%>'>
      

  2.   

    这个...
    我原来是这样的,和楼上的应该是等价的
       Select Case e.Item.ItemType
           case ListItemType.EditItem
                   dim tempTxtbox as textbox
                   temptxtbox=e.item.findcontrol("TextBox2")
                   temptxtbox.Attributes.Add("onclick", "return OnChange(this);")
                
            End Select我现在的问题是,我不知道这段代码应该写在DataGrid的那个事件里。
      

  3.   

    to   jxluotao这么写
    <EditItemTemplate>
    <asp:TextBox id="TextBox2" runat="server" 
                onclick="return OnChange(this)"   Text='<%# DataBinder.Eval           (Container.DataItem,"交货日期")%>'>
    </asp:TextBox>
    </EditItemTemplate>
    出错,大概因为编辑模板列中textbox控件没有onclick事件。
      

  4.   

    寫在datagrid的ItemDataBound事件或是ItemCreated事件里.
      

  5.   

    怎样得到Header、Footer、Pager里的控件
    方法一:在ItemCreated或者ItemDataBound中,具体代码就不在多写了
    方法二:遍历DataGrid的所有Item(注意,不是遍历DataGrid1.Items下的Item)
    foreach (DataGridItem item in DataGrid1.Controls[0].Controls)
    {
      if (item.ItemType == ListItemType.Header)
      {
        //用item.FindControl查找相应的控件
      }
    }
      

  6.   

    ljmay168(軍) 
    这个好像不行
      

  7.   

    不會吧,我這樣做過,不過我直接用綁定列,沒用模板列.我的代碼你參考一下:
    If e.Item.ItemType = ListItemType.EditItem Then
                CType(e.Item.Cells(3).Controls(0), TextBox).Attributes.Add("onkeypress", "if (event.keyCode<48 || event.keyCode>57) event.keyCode=0;")
                CType(e.Item.Cells(3).Controls(0), TextBox).Attributes.Add("onkeyup", "gettotal()")
    End If
      

  8.   

    ljmay168(軍) 
    我现在的问题是,我不知道
       Select Case e.Item.ItemType
           case ListItemType.EditItem
                   dim tempTxtbox as textbox
                   temptxtbox=e.item.findcontrol("TextBox2")
                   temptxtbox.Attributes.Add("onclick", "return OnChange(this);")
                
            End Select这段代码应该写在DataGrid的哪个事件里