
- •230100.1 «Вычислительные машины, комплексы, системы и сети»
- •230100.3 «Автоматизированные системы обработки информации и управления»
- •230105.4 «Программное обеспечение вычислительной техники
- •Содержание пояснительной записки
- •Проверка правильности данных на уровне ячейки таблицы
- •Проверка правильности данных на уровне строки таблицы
- •Использование xml-сериализации для сохранения и загрузки наборов данных
- •Дополнительные средства навигации и редактирования для таблицы с набором данных
- •Автоматизация действий при добавлении нового элемента данных
- •Сортировка данных
- •Поиск по шаблону
ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«НАЦИОНАЛЬНЫЙ МИНЕРАЛЬНО-СЫРЬЕВОЙ УНИВЕРСИТЕТ «ГОРНЫЙ»
Кафедра информационных систем и вычислительной техники
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к выполнению курсового проекта
по дисциплине
«Программирование»
(наименование по рабочему учебному плану)
Специальности:
230100.1 «Вычислительные машины, комплексы, системы и сети»
230100.3 «Автоматизированные системы обработки информации и управления»
230105.4 «Программное обеспечение вычислительной техники
и автоматизированных систем»
Составитель: старший преподаватель Е.О.Шумова
Санкт-Петербург
2013
Составитель: ст.преподаватель Е.О.Шумова
Научный редактор: профессор И.В.Иванова
Задание на курсовой проект
Тема «Обработка наборов данных на языке С#»
Цель: овладение стандартными средствами.NET, связанными с обработкой наборов данных, включая их привязку к компонентам формы (databinding).
Студент должен самостоятельно выбрать предметную область (тему) проекта.
Независимо от темы курсовой проект должен содержать:
- создание класса с описанием структуры данных (с различными типами полей);
- связывание с помощью компонента BindingSource созданной структуры с таблицей DataGridView;
-проверку правильности вводимых данных на уровне отдельной ячейки и строки в целом;
- использование средствXML-сериализации наборов данных для обеспечения чтения и записи данных в файл;
- использование средств навигации BindingNavigator, предоставляющий дополнительные средства навигации и редактирования данных;
- выполнение сортировки данных;
- выполнение поиска данных по указанному полю.
Содержание пояснительной записки
титульный лист;
техническое задание на разработку информационного и программного обеспечения;
структура информационного и программного обеспечения;
описание алгоритмов и подпрограмм (функций и процедур), используемых для создания программного обеспечения;
тексты программных модулей;
результаты тестирования программного обеспечения (ПО) по всем функциям, заложенным в техническом задании (печать экранов);
список используемой литературы;
оглавление.
Методические указания к выполнению курсового проекта
Для примера выбрана следующая структура:
Id (порядковый номер студента, тип int),
Surname (фамилия студента, тип string),
Gender (пол, тип string),
BirthDate (дата рождения, тип DateTime),
Course (номер курса, тип int),
Group (номер группы, тип int),
Scholarship (получает ли студент стипендию, тип bool).
Создайте проект типа WindowsApplication.
Добавьте в форму Form1 таблицу dataGridView1, а также невизуальный компонент типа BindingSource (этот компонент получит имя bindingSource1 и будет размещен ниже формы, в области невизуальных компонентов).
Настройте свойства формы и компонента dataGridView1 :
Form1: Text = Students, StartPosition = CenterScreen
dataGridView1: Dock = Fill, AutoSizeColumnsMode = Fill,
DataSource = BindingSource1
Для связывания таблицы с набором данных (с возможностью его последующего просмотра, редактирования и сохранения) необходимо оформить набор данных в виде вспомогательного класса, в котором каждое поле элемента данных должно быть представлено в виде свойства класса. Также необходимо, чтобы этот вспомогательный класс имел конструктор без параметров и был снабжен модификатором доступа public. Назовем класс stud.
Для создания файла с описанием нового класса следует выполнить команду меню Project| AddClass…, в появившемся диалоговом окне заменить имя, предлагаемое по умолчанию и нажать клавишу <Enter>или кнопку Add.
Ускорить ввод свойств и связанных с ними закрытых полей класса можно с помощью механизма автогенерации кода. Для использования механизма автогенерации кода нужно переместить клавиатурный курсор внуть блока с описанием класса, набрать текст propи нажать клавишу <Tab> (если после первого нажатия <Tab> заготовка не появится, то еще раз нажмите эту же клавишу).
Текст файла student.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace studdemo // имя пространства имен соответствует
// названию проекта (можно изменить)
{
public class student
{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private string surname;
public string Surname
{
get { return surname; }
set { surname = value; }
}
private string gender = "М"; // задано значение
// поля по умолчанию
public string Gender
{
get { return gender; }
set { gender = value;}
}
private DateTime birthDate;
public DateTime BirthDate
{
get { return birthDate;}
set { birthDate = value; }
}
private int course;
public int Course
{
get { return course;}
set { course = value; }
}
private int group;
public int Group
{
get {return group; }
set { group = value;}
}
private bool scholarship;
public bool Scholarship
{
get {return scholarship;}
set { scholarship = value; }
}
}
}
После завершения описания класса приложение необходимо откомпилировать для того, чтобы информацию о созданном классе можно было использовать при настройке свойства DataSource компонента bindingSource1.
В качестве значения свойства DataSourceкомпонента bindingSource1 следует указать имя только что определенного класса stud. Для этого нужно выполнить следующие действия:
-
нажать кнопку разворачивания списка
справа от свойства DataSource
в окне Properties;
- в появившемся окне щелкните мышью на тексте AddProjectDataSource…
- вновом окне DataSourceConfigurationWizard выберите вариант Object и нажмите кнопку Next
- разверните появившийся древовидный списокstuddemo(такое название имеет наш проект), в появившемся списке выделите пункт {}studdemo, в появившемся списке выделите пункт student, после чего нажмите кнопку <Finish>.
После выполнения указанных действий все вспомогательные окна будут закрыты, а свойство DataSource компонента bindingSource1 получит значение studdemo.student (<имя пространства имен>.<имя класса>). В таблицу dataGridView1 будут автоматически добавлены столбцы, соответствующие всем открытым свойствам класса student. Каждый столбец будет иметь заголовок, совпадающий с именем соответствующего свойства.
Все столбцы кроме последнего (Schoolarship), будут иметь тип DataGridViewTextBoxColumn; последний столбец получит тип DataGridViewCheckBoxColumn, поскольку связанное с ним свойство Scholarship имеет тип bool.
Можно настроить свойства формы, например, изменить ширину столбцов, наименования заголовков.
Если набор вариантов для заполнения какого-либо поля невелик, то для выбора требуемого варианта удобно использовать выпадающий список (например поле Gender).
Перейдите
в окно Свойств для таблицы dataGridView1
на свойство Columnsи
нажмите кнопку с многоточием
рядом
с этим свойством. В результате на экране
появится диалоговое окно EditColumns
настройки свойств столбцов таблицы.
Последовательно выделяя имя каждого столбца в левом списке, откорректируйте требуемые свойства выделенного столбца.
Настройка свойств столбцов таблицы dataGridView1:
Id: Name = id1, HeaderText= №
Surname: Name = surname1, HeaderText= Фамилия
FillWeight = 300
Gender: Name = gender1, HeaderText= Пол
ColumnType=DataGridViewComboBoxColumn
BirthDate: Name = birthDate1, HeaderText= Датарождения
FillWeight = 150
Course: Name = course1, HeaderText= Курс
Group: Name = group1, HeaderText= Группа
Scholarship: Name = scholarship1, HeaderText= Стипендия
Дополнительно определите свойство Items столбца gender1.
При нажатии на у свойства Items получите окно, в котором нужно внести значения «М» и «Ж».
В результате выполнения настроек получите таблицу:
После запуска полученной программы в таблицу dataGridView1 можно вводить данные. Для ввода нового элемента данных предусмотрена последняя строка (строка NewRow), помеченная символом * (звездочка). Сразу после начала ввода нового элемента для него выделяется новая строка, а строка NewRowперемещается ниже. После создания новой строки в нее заносятся значения полей по умолчанию, которые определяются по соответствующим значениям свойств класса student.
При вводе данных в одну из ячеек соответствующая строка таблицы переходит в режим редактирования, признаком которого является изображение карандаша в заголовке данной строки. Для перехода в режим редактирования текущей строки можно также нажать клавишу <F2>. Для выхода из режима редактирования достаточно перейти на другую ячейку (например, с помощью клавиши <Tab>).
При попытке ввода значения, которое не является допустимым для текущего поля (например, при вводе буквы в любое числовое поле), на экран выводится диалоговое окноDataGridViewDefaultErrorDialog с сообщением об ошибке. Поэтому следует проверять корректность вводимой информации на уровне ячейки таблицы.