Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > вывод массива в dataviewgrid


Автор: derek 21.8.2006, 12:29
вообщем есть массив

Код

int[,] matrix = new int[,]{ 
                   {1,2},
                   {3,4},
                   {5,6}};


и dataviewgrid1 с двумя columns

задача - вывести matrix [i,j] в dataviewgrid в соответствии с columns

Автор: marcusmae 21.8.2006, 12:57
У DataGridView есть property .DataSource. Принимает object. То есть, в частности возможно :

Код

dataGridView.DataSource = matrix;


Это работает , если matrix - не массив object'ов (а, например, int, как в вашем случае)

Добавлено @ 12:59 
да, и до 

Код

dataGridView.DataSource = matrix;


никаких колонок в dataGridView можно и не заводить... 

Автор: ivashkanet 21.8.2006, 13:02
derek, а ты сам хоть что-нить искал/читал по этому поводу?
Или сразу как лабу дали залез на форум?
(То что это лаба я не сомневаюсь. Врятли кто-то в здравом уме будет хранить табличные данные для грида в массивах)

По делу: что мешает создать DataSet и DataTable в ней, а потом методично перенести все данные в таблицу?

Добавлено @ 13:02 
Цитата(marcusmae @  21.8.2006,  12:57 Найти цитируемый пост)
dataGridView.DataSource = matrix;

Да??? А я и не знал  smile 

Автор: derek 21.8.2006, 13:06
marcusmae, 
так пробовал вываливается с exception-ом...  Array was not a one-dimensional array

ivashkanet, 
пиши пожалуйста что нить по делу, либо вообще не пиши. ок?
p.s. это не лаба 

Автор: ivashkanet 21.8.2006, 13:18
Цитата(derek @  21.8.2006,  13:06 Найти цитируемый пост)
пиши пожалуйста что нить по делу, либо вообще не пиши. ок?

ok  smile 
Код
string[,] data = new string[100, 4];

            for (int i = 0; i < data.GetLength(0); i++)
            {
                for (int j = 0; j < data.GetLength(1); j++)
                {
                    data[i, j] = i.ToString() + ":" + j;
                }
            }

            DataSet ds = new DataSet();

            DataTable dt = new DataTable("MyTable");
            for (int i = 0; i < 4; i++)
            {
                DataColumn dc = new DataColumn("Column " + i.ToString(), typeof(string));
                dt.Columns.Add(dc);
            }

            ds.Tables.Add(dt);

            for (int i = 0; i < data.GetLength(0); i++)
            {
                DataRow row = dt.NewRow();
                row[0] = data[i, 0];
                row[1] = data[i, 1];
                row[2] = data[i, 2];
                row["Column " + 3] = data[i, 3];
                dt.Rows.Add(row);
            }

            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "MyTable";



Цитата(derek @  21.8.2006,  13:06 Найти цитируемый пост)
p.s. это не лаба 

Тогда посылай массивы на.....
И пользуй DataSet и  DataTable вот те мой совет smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)