如何使用循环从datagridview中获取数据

我想从datagridview使用for循环获取数据即从datagrid中的行逐个采取数据,并放入列表视图。 但我得到一个exception“索引超出范围,必须是非负的,小于收集参数名称:索引的大小”。 datagridview中的数据来自excel表单。我有以下代码:

private void button1_Click(object sender, EventArgs e) { listView1.Visible = true; listView1.View = View.Details; listView1.GridLines = true; listView1.FullRowSelect = true; //Add column header listView1.Columns.Add("Recipent Number", 500); listView1.Columns.Add("Status", 100); for (int i = 0; i <= dataGridView1.RowCount; i++) { //Add items in the listview string[] arr = new string[2]; ListViewItem itm; //Add first item arr[0] = dataGridView1.Rows[i+1].Cells["F1"].Value.ToString(); arr[1] = "Send"; itm = new ListViewItem(arr); listView1.Items.Add(itm); } } 

你的for循环条件中有一个错误的错误。

将其更改为使用“<”而不是“<=”,如下所示。

 for (int i = 0; i < dataGridView1.RowCount; i++) { //Add items in the listview string[] arr = new string[2]; ListViewItem itm; //Add first item arr[0] = dataGridView1.Rows[i+1].Cells["F1"].Value.ToString(); arr[1] = "Send"; itm = new ListViewItem(arr); listView1.Items.Add(itm); }