【问题标题】:How to extract all of array value to datagridview in C#?如何在 C# 中将所有数组值提取到 datagridview?
【发布时间】:2019-08-13 05:24:23
【问题描述】:

我有对象存储在数组中,存储在数组中的对象数量是不确定的。如何将所有数组值提取到DataGridView 中? 这里我只能输出一个10个的数组,如果数组个数小于10个或者大于10个就会有问题。

string[,] rows = new string[,]
{
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[newlabel]), Convert.ToString(cekR[newlabel]), Convert.ToString(cekG[newlabel]), Convert.ToString(cekB[newlabel])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[2]), Convert.ToString(cekR[2]), Convert.ToString(cekG[2]), Convert.ToString(cekB[2])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[3]), Convert.ToString(cekR[3]), Convert.ToString(cekG[3]), Convert.ToString(cekB[3])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[4]), Convert.ToString(cekR[4]), Convert.ToString(cekG[4]), Convert.ToString(cekB[4])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[5]), Convert.ToString(cekR[5]), Convert.ToString(cekG[5]), Convert.ToString(cekB[5])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[6]), Convert.ToString(cekR[6]), Convert.ToString(cekG[6]), Convert.ToString(cekB[6])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[7]), Convert.ToString(cekR[7]), Convert.ToString(cekG[7]), Convert.ToString(cekB[7])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[8]), Convert.ToString(cekR[8]), Convert.ToString(cekG[8]), Convert.ToString(cekB[8])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[9]), Convert.ToString(cekR[9]), Convert.ToString(cekG[9]), Convert.ToString(cekB[9])},
    {Convert.ToString(no),tb_lokasigambar.Text,  Convert.ToString(nilaipx[10]), Convert.ToString(cekR[10]), Convert.ToString(cekG[10]), Convert.ToString(cekB[10])},

};

int[][] arraybaru = new int[100][];

for (int ii = 0; ii < rows.GetLength(0); ii++)
{
    string[] row = new string[rows.GetLength(1)];
    for (int nn = 0; nn < rows.GetLength(1); nn++)
    {
        row[nn] = rows[ii, nn];
    }
    dataGridView1.Rows.Add(row);
}

【问题讨论】:

    标签: c# arrays visual-studio datagridview


    【解决方案1】:

    我想我看到了您的问题,在某种程度上,您的 for 语句将这种解析视为逐列,但在您的长度测量中,您将其视为直线行和列。试试这样的:

    for (int rowID = 0; rowID < rows.Length; rowID++)
    {
        string[] newRow = new string[rows[rowID].Length];
        for (int columnID = 0; columnID < rows[rowID].Length; columnID++)
        {
            newRow[columnID] = rows[rowID, columnID];
        }
        dataGridView1.Rows.Add(newRow);
    }
    

    【讨论】:

    • rowID和columnID是什么意思?在这种情况下,我想从数组 [nilaipx] [cekR] [cekG] [cekB] 中提取值
    • @AndiNovanPrastya 因此,使用第一个 for 语句,您只需将数组分解为其行,然后通过遍历刚拉出的行中的每个值,使用第二个 for 语句获取每一列.假设您的数组与 dataGridView 直接兼容,您可能只需将行直接推入其中。
    猜你喜欢
    • 1970-01-01
    • 2015-10-28
    • 2018-03-08
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 2013-07-28
    相关资源
    最近更新 更多