Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

2-dimensional Integer array to DataGridView

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

like image 401
Eugene Avatar asked Nov 06 '10 00:11

Eugene


2 Answers

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);
}
like image 87
Merlyn Morgan-Graham Avatar answered Oct 07 '22 04:10

Merlyn Morgan-Graham


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;
like image 25
randoms Avatar answered Oct 07 '22 06:10

randoms