日期:2014-05-19  浏览次数:20701 次

DataGrid控件问题
如何在点击更新按钮时把想要的行的值保存到一个变量里?

private   void   DataGrid1_EditCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)
{

DataGrid1.EditItemIndex=e.Item.ItemIndex;


tempetname=((TextBox)e.Item.Cells[2].Controls[0]).Text;
tempetage=((TextBox)e.Item.Cells[4].Controls[0]).Text;
tempettype=((TextBox)e.Item.Cells[2].Controls[0]).Text;
}

为什么说
指定的参数超出范围呢?
参数名:index


------解决方案--------------------
tempetname=((TextBox)e.Item.Cells[2].Controls[0]).Text;
tempetage=((TextBox)e.Item.Cells[4].Controls[0]).Text;
tempettype=((TextBox)e.Item.Cells[2].Controls[0]).Text;

这里不对了
tempetname=((TextBox)e.Item.Cells[1].Controls[0]).Text;
tempetage=((TextBox)e.Item.Cells[2].Controls[0]).Text;
tempettype=((TextBox)e.Item.Cells[3].Controls[0]).Text;

------解决方案--------------------
这个问题可以这样:
datagrid.rows[e.index]cell[0~n].value
------解决方案--------------------
tempetage=((TextBox)e.Item.Cells[4].Controls[0]).Text;
改成
tempetage=((TextBox)e.Item.Cells[4].Controls[1]).Text;
试试