DataGridView列数据到数组

时间:2015-11-09 08:39:31

标签: c# winforms datagridview

是否可以将DataGridView列中的所有数据传输到string[] array

到目前为止,这是我的代码,不幸的是,它无法将DataGridViewRow转换为int

foreach (DataGridViewRow dgvrows in dgvDetail.Rows)
{
   array[dgvrows] = dgvDetail.Rows[dgvrows].Cell[3].value.ToString().Trim;
}

1 个答案:

答案 0 :(得分:2)

您可以通过各种方式实现:

  • 使用正常的for - 循环。 foreach只是语法糖,真正的工作总是用好的旧循环来完成。

  • 使用foreachDataGridViewRow.Index属性设置数组索引。

  • 使用LINQ创建数组

for (int i = 0; i < dgvDetail.Rows.Count; i++)
{
    array[i] = dgvDetail.Rows[i].Cells[3].Value.ToString().Trim();
}   


foreach (DataGridViewRow row in dgvDetail.Rows) 
{
    array[row.Index] = row.Cell[3].Value.ToString().Trim();
}


var array = dgvDetail.Rows
    .Cast<DataGridViewRow>()
    .Select(x => x.Cells[3].Value.ToString().Trim())
    .ToArray();

请注意,在两个循环中,您需要首先初始化数组!