DataGridView 列数据到数组

问题描述 投票:0回答:1

是否可以将所有数据从

DataGridView
列传输到
string[] array

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

DataGridViewRow
转换为
int

foreach (DataGridViewRow dgvrows in dgvDetail.Rows)
{
   array[dgvrows] = dgvDetail.Rows[dgvrows].Cell[3].value.ToString().Trim;
}
c# winforms datagridview
1个回答
4
投票

您可以通过多种方式做到这一点:

  • 使用普通的

    for
    循环。
    foreach
    只是语法糖,真正的工作总是通过旧的 for 循环来完成。

  • 使用

    foreach
    DataGridViewRow.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.Cells[3].Value.ToString().Trim();
}


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

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

© www.soinside.com 2019 - 2024. All rights reserved.