如何在 C# 中将 DataGridView 表存储在二维数组中并将二维数组提取到 DataGridView 中?

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

我在 VB 中有一些代码,我需要将其转换为等效的 C#。我不确定我写的代码是否在做我想做的事情。我希望能够将 2D 数组提取到 datagridview 中,反之亦然,将 datagridview 表的内容移动到 2D 数组中。

下面是我尝试转换的VB和我试过的C#

如何在 VB 中完成:

Dim RMold
Lnum = 25 'Not actually how Lnum is being set but to keep things simple, setting to 25 here.
RMold= Sheets(S1).Range(Sheets(S1).Cells(11, 1), Sheets(S1).Cells(Lnum, 14)).Value

在 C# 中:

int[,] RMold;
int Lnum = 25; 

RMold = new int[Lnum, 14];

for(int n = 11; n <= Lnum; n++) {

    for(int o = 1; o <= 14; o++) {

    RMold[n, o].ToString() = RMdatagridview.Rows[n].Cells[o].ToString();
    }
}

我没有像在 VB 中那样将 excel 工作表存储在数组中,而是在 C# 中将 datagridview 表存储在数组中作为一种等效代码。

反之亦然(将二维数组提取到数据网格视图中):

在 VB 中:

'Setting Cnum and StartColumn  = 10 to keep things simple here.
Cnum = 10 
StartColumn = 10

Sheets(S1).Range(Sheets(S1).Cells(1, StartColumn), Sheets(S1).Cells(Lnum * Cnum, StartColumn + 2)).Value = PMarray

我的C#:

int[,] PMarray;

PMarray = new int [Lnum*Cnum, (StartColumn + 2) - StartColumn + 1];


for(int l = 0; l < PMarray.GetLength(0); l++) {

    int[] PMArr = new int[PMarray.GetLength(1)];

    for(int m = 0; m < PMarray.GetLength(1); m++) {

    PMArr[m] = PMarray[l, m];
    }
    MBIC_dgv.Rows.Add(PMArr); //I get the feeling this isn't quite right
}

这是正确的还是我遗漏了什么?

c# multidimensional-array datagridview
© www.soinside.com 2019 - 2024. All rights reserved.