Private void AddColumns(int n, DataGridView dgw)

{

//добавляет n столбцов в элемент управления dgw

//Заполнение DGView столбцами

DataGridViewColumn column;

for (int i = 0; i < n; i++)

{

column = new DataGridViewTextBoxColumn();

column.DataPropertyName = "Column" + i.ToString();

column.Name = "Column" + i.ToString();

dgw.Columns.Add(column);

}

}

Private void AddRows(int m, DataGridView dgw)

{

//добавляет m строк в элемент управления dgw

//Заполнение DGView строками

for (int i = 0; i < m; i++)

{

dgw.Rows.Add();

dgw.Rows[i].HeaderCell.Value

= "row" + i.ToString();

}

}

Создаются столбцы в коллекции Columns по одному. В цикле по числу столбцов матрицы, которую должен отображать элемент управления DataGridView, вызывается метод Add этой коллекции, создающий очередной столбец. Одновременно в этом же цикле создается и имя столбца (свойство Name), отображаемое в форме. Показана возможность формирования еще одного имени (DataPropertyName), используемого при связывании со столбцом таблицы внешнего источника данных. В нашем примере это имя не используется.

Создав столбцы, нужно создать еще и нужное количество строк у каждого из элементов DataGridView. Делается это аналогичным образом, вызывая метод Add коллекции Rows. Чуть по-другому задаются имена строк, - для этого используется специальный объект HeaderCell, имеющийся у каждой строки и задающий ячейку заголовка.

После того как сформированы строки и столбцы, элемент DataGridView готов к тому, чтобы пользователь или программа вводила значения в ячейки сформированной таблицы.

Рассмотрим теперь, как выглядит обработчик события «Click» следующей командной кнопки «Перенести данные в массив». Предполагается, что пользователь разумен и, прежде чем нажать эту кнопку, задает значения элементов перемножаемых матриц в соответствующих ячейках подготовленных таблиц первых двух элементов DataGridView. Обработчик события выполняет следующие задачи – в цикле читает элементы, записанные пользователем в таблицы DataGridView, проверяет их корректность и в случае успеха переписывает их в матрицы. Текст обработчика:

Private void button2_Click(object sender, EventArgs e)

{

string elem = "";

bool correct = true;

for (int i = 0; i < m; i++)

for (int j = 0; j < n; j++)

{

Try

{

elem=dataGridView1.Rows[i].Cells[j].Value.ToString();

A[i, j] = Convert.ToDouble(elem);

label8.Text = "";

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: