日期:2014-05-18  浏览次数:20427 次

datagrid读取单元格数据出错的问题
代码如下: 
protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
  {

  if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.SelectedItem)
  {
  e.Item.Attributes.Add("onClick", "OnFocusSet( '#000000','#FFFFFF','#FFFFFF','#EEEEEE' );");
  }

  TextBox ClassNameText = (TextBox)e.Item.Cells[0].Controls[0];
  string className = ClassNameText.Text;
  TextBox4.Text = className;
  }

从被选中的一行中,读取某单元格的信息出错,不知道什么原因,
 TextBox ClassNameText = (TextBox)e.Item.Cells[0].Controls[0];
  string className = ClassNameText.Text;
  TextBox4.Text = className;

说是index超出范围,应该怎么改?

------解决方案--------------------
TextBox ClassNameText = (TextBox)e.Item.Cells[0].Controls[0]; 
string className = ClassNameText.Text; 
TextBox4.Text = className; 

这些代码你不能写在ItemDataBound事件里,你要写在选择事件里