首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

这是如何了,总是显示“索引超出范围。必须为非负值并小于集合大小”

2012-08-10 
这是怎么了,总是显示“索引超出范围。必须为非负值并小于集合大小”?private void dataGridViewx2_CellValueC

这是怎么了,总是显示“索引超出范围。必须为非负值并小于集合大小”?
private void dataGridViewx2_CellValueChanged(object sender, DataGridViewCellEventArgs e)
  {
 
  if (sqlarray1.Count < 4 & sqlarray2.Count < 4)
  {
  string value1 = "列名";
  string value2 = "行名";
  sqlarray1.Add(value1);
  sqlarray2.Add(value2);


  }
  else
  {
  string value1 = Convert.ToString(dataGridView2[e.ColumnIndex, e.RowIndex].Value);
  string Column0 = Convert.ToString(dataGridView2.Rows[e.RowIndex].Cells[0].Value);
  sqlarray1.Add(value1);
  sqlarray2.Add(Column0);
  for (int i = 4; i <= sqlarray1.Count; i++)
  {
  string name = sqlarray2[i].ToString();
  string value = sqlarray1[i].ToString();
  }
  }
   


  }

[解决办法]

for (int i = 4; i <= sqlarray1.Count-1; i++) //这个地方改下
{
string name = sqlarray2[i].ToString();
string value = sqlarray1[i].ToString();
}

成功就给分吧...数组是从0开始计数的它的长度是array.length 所以只能到array.length-1

热点排行