为什么我的DataGrid的EditCommand方法不能编辑
我在一个webform窗体上放了一个datagrid控件,连上了数据库,放了一个编辑(更新,取消)按钮,然后在它的private   void   fixitemDBgrid_EditCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)方法中写代码,可是总是提示超出范围,我的代码是这样的: 
 			fixitemDBgrid.EditItemIndex   =   e.Item.ItemIndex; 
 			TextBox   tbfixcode   =   (TextBox)fixitemDBgrid.Items[fixitemDBgrid.EditItemIndex].Cells[0].Controls[0];   
 我的意图是让这一列为可编辑象TextBox那样可以修改,但是现在出错如果把出错的这行去掉,可以编辑,但却是只读的.这是为什么 
 出错信息如下:   
 指定的参数已超出有效值的范围。参数名:   index    
 说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。      
 异常详细信息:   System.ArgumentOutOfRangeException:   指定的参数已超出有效值的范围。参数名:   index   
 源错误:        
 行   130:		{ 
 行   131:			fixitemDBgrid.EditItemIndex   =   e.Item.ItemIndex; 
 行   132:			TextBox   tbfixcode   =   (TextBox)fixitemDBgrid.Items[fixitemDBgrid.EditItemIndex].Cells[0].Controls[0]; 
 行   133:	 
 行   134:			//NewTextBoxN.NewTextBox   Tbfixcode   =   (NewTextBoxN.NewTextBox   )e.Item.Cells[0].Controls[0];      
------解决方案--------------------TextBox tbfixcode = (TextBox)fixitemDBgrid.Items[fixitemDBgrid.EditItemIndex].Cells[0].Controls[0]; 
 改成 
 TextBox tbfixcode=(TextBox)e.Item.FindControl( "你要找哪控件id ")
------解决方案--------------------在EditCommand事件中这样写就行了 
 private void fixitemDBgrid_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) 
 { 
 	fixitemDBgrid.EditItemIndex = e.Item.ItemIndex; 
          //重新绑定数据 
 }   
 我的意图是让这一列为可编辑象TextBox那样可以修改,但是现在出错如果把出错的这行去掉,可以编辑,但却是只读的. 
 ==================== 
 看看你是不是在aspx文件中让它readonly = true了,还有,如果要进行编辑,是在UpdateCommand和DeleteCommand中写事件处理程序 
------解决方案--------------------TextBox tbfixcode = (TextBox)e.Items[fixitemDBgrid.EditItemIndex].Cells[0].Controls[0]; 
 ========================== 
 TextBox tbfixcode = (TextBox)e.Item.Cells[0].Controls[0];   
 Cells[0].Controls[0];第一个单元格的第一个控件