2-dimensional Integer array to DataGridView

16,968

Solution 1

Follow the code sample on this page to populate the Rows property:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.aspx

Edit

Turns out this is a bit thornier than I thought. Here's a code example:

var data = new int[4,3]
{
    { 1, 2, 3, },
    { 4, 5, 6, },
    { 7, 8, 9, },
    { 10, 11, 12 },
};

var rowCount = data.GetLength(0);
var rowLength = data.GetLength(1);

for (int rowIndex = 0; rowIndex < rowCount; ++rowIndex)
{
    var row = new DataGridViewRow();

    for(int columnIndex = 0; columnIndex < rowLength; ++columnIndex)
    {
        row.Cells.Add(new DataGridViewTextBoxCell()
            {
                Value = data[rowIndex, columnIndex]
            });
    }

    dataGridView1.Rows.Add(row);
}

Solution 2

to get Merlyn's solution to work you'll need to set the column count before you add rows to the datagridview:

dataGridView1.ColumnCount = 3;
Share:
16,968
Eugene
Author by

Eugene

Updated on July 22, 2022

Comments

  • Eugene
    Eugene almost 2 years

    How would I go about displaying a 2-dimensional integer array into a DataGridView Control in C# .Net 4.0?