Размещение многомерных массивов чисел в таблицах (Пример выполнения работы)

Страницы работы

Содержание работы

Пример выполнения работы

Учимся работать с таблицами. Таблицы будем использовать для размещения многомерных массивов чисел.

Создать приложение (WindowsApplication) с одной формой по умолчанию. На форме размещаем элемент «DataGridView» (рис.1).

Рис. 1 Добавление элемента «DataGridView»

У таблицы (англ. «grid») необходимо установить некоторые свойства (рис.2). Для этого необходимо вывести свойства таблицы (метка на элементе в правом верхнем углу), как это показано на рисунке 2. И выключить свойства автоматического добавления новой строки («Enable Adding») и возможность удаления строк непосредственно в таблице («Enable Deleting»).

Рис. 2 Установка свойств элемента «DataGridView»

После этого добавим в таблицу несколько столбцов. Столбцы добавляются в этих же свойствах пункт «Edit Columns…» (рис.3).

Рис. 3 Доступ к редактированию столбцов

Открывается окно для редактирования столбцов таблицы. При нажатии кнопки «Add» (англ. «добавить») добавляется столбец. При нажатии кнопки «Remove» (англ. «убрать») удаляется добавленный столбец (рис.4).

Рис. 4 Окно редактирования столбцов

Добавим три столбца. Для каждого столбца справа открывается окно со свойствами (рис.5). Здесь можно установить заголовок столбца («HeaderText»), ширину («Width») и многие другие.

Рис. 5 Окно свойств столбца

После этого добавим три кнопки на форму: «Добавить», «Заменить» и «Удалить» (рис.6).

Первая кнопка будет добавлять строки в таблицу. Вторая кнопка будет заполнять всея ячейки данными. Третья – удалять строки из таблицы.

Рис. 6 Добавление кнопок на форму

В кнопку «Добавить» запишем код, который будет добавлять 10 строк в таблицу. Для добавления строк используем свойство таблицы (название по умолчанию «dataGridView1») «Rows» (англ. «ряды»). У свойства «Rows» есть встроенный метод «Add» где в скобках необходимо указать сколько строк добавить (рис.7).

Рис. 7 Код добавления 10 строк в таблицу

Проверяем как работает проект. При нажатии кнопки «Добавить» в таблице появляются строки (рис.8).

Рис. 8 Добавления 10 строк в таблицу

Ячейки в проекте можно редактировать. Все ячейки по умолчанию пустые (рис.9).

Рис. 9 Редактирование ячеек

Сделаем так, чтобы ячейки при нажатии кнопки «Заполнить» заполнялись случайными числами от 0 до 10. Для этого в копку запишем следующий код (рис.9). Для доступа к ячейкам необходимо перебрать все строки. В каждой строке перебрать все ячейки.  И у каждой ячейке установить нужное значение. На рисунке 9 показан код перебора всех рядов (или строк) у таблицы. Здесь под цифрой 1 показана коллекция строк (свойство «Rows»). Каждая строка - это элемент «DataGridViewRow» (англ. «ряд таблицы»), под цифрой 2. Каждый взятый элемент «DataGridViewRow» будем называть «row», цифра 3.

Рис. 10 Перебор строк (рядов)  в таблице «dataGridView1»

После того как берется строка («row»), переберем все ячейки этой строки. Для этого внутрь цикла «foreach…» помещаем еще один цикл «foreach…», который будет перебирать ячейки. На рисунке 10 показан код перебора ячеек (англ. «cell») у строки. Под цифрой 1 показана коллекция ячеек у ряда (свойство «Cells»). Каждая ячейка - это элемент «DataGridViewCell» (англ. «ячейка таблицы»), под цифрой 2. Каждый взятый элемент «DataGridViewCell» будем называть «cell», цифра 3.

Рис. 11 Перебор ячеек в каждом ряде таблицы «dataGridView1»

Теперь каждая перебираемая ячейка будет называться «cell» и у этого объекта можно менять значению. Установим значение в виде текстовой сроки «Привет» (рис.12).

Рис. 12 Установка значения «Привет» для всех ячеек

Проверим как работает проект. Сначала добавляем 10 строк в таблицу, а затем при нажатии кнопки «Заменить», во всех ячейках появляется текст «Привет» (рис.13).

Рис. 13 Заполнение ячеек соловом «Привет»

Добавим код для кнопки «Удалить». Для удаления строки необходимо использовать у свойства «Rows» встроенный метод «RemoveAt», который удаляет строку по заданному номеру. Номер строки (отсчет начинается с нуля) указывается в скобках. На рисунке 14 показан код удаления первого (нулевого, т.е. самого верхнего) ряда (или строки).

Рис. 14 Удаление первого ряда в таблице

Можно проверить как работает проект. Но это не самый удобный вариант. Как быть, если хочется удалить выделенный мышкой ряд? Как узнать его номер? Для этого будем использовать другой механизм. У свойства «Rows» имеется также встроенный метод «Remove», где в скобках необходимо указать выделенный ряд. Для определения выделенного ряда используется свойство «SelectedRows».  Но свойство «SelectedRows» отображает коллекцию выбранных строк, а метод «Remove» в скобках требует на вход только один ряд. Поэтому из коллекции выделенных рядов «SelectedRows» будем брать только первый ряд «SelectedRows[0]». То есть, даже если пользователь выделит несколько строк, на вход к удалению поступит только первый из выбранных рядов, он только и удалится. Описанный код удаления выделенного ряда показан на рисунке 15.

Рис. 15 Удаление выделенной строки

Проверим как работает проект. Здесь есть один нюанс. Выделенный ряд считается выделенным (т.е. чтобы попасть в свойство «SelectedRows») необходимо мышкой выделить всю строку целиком, как это показано на рисунке 16.

Рис. 16 Удаление выделенной строки

Но, если выделенным будет только одна или несколько (не все) ячейки, то при нажатии кнопки «Удалить» выскочит ошибка, сигнализирующая, что нет ни одного выделенного ряда (свойство «SelectedRows» является пустым, или «null»).   Пример ошибки показан на рисунке 17.

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Методические указания и пособия
Размер файла:
399 Kb
Скачали:
0