Разработка приложения по учету курсовых работ с использованием технологий Microsoft.NET

Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.06.2011
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«СЕВЕРО-КАВКАЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра информационных систем и технологий

Пояснительная записка

к курсовому проекту

по дисциплине

«Разработка Windows-приложений»

(наименование учебной дисциплины)

Информационные технологии

Ставрополь, 2010

Аннотация

В данном курсовом проекте описана программа, написанная на языке Visual C# с использованием технологий Microsoft.NET.

В пояснительной записке содержится теоретическая информация о значение Microsoft.NET. Отдельное внимание уделено аспектам программирования приложений с использованием технологий доступа к данным ADO.NET.

Содержание

  • Аннотация
  • ВВЕДЕНИЕ
  • 1. Теоретические основы программирования с использованием технологий Microsoft.NET
    • 1.1 Создание приложения Windows Forms в среде Microsoft Visual Studio 2008
    • 1.2 Доступ к данным
    • 1.3 Отображение данных в Windows Forms
  • 2. Разработка приложения Windows «Учет курсовых работ»
    • 2.1 Структура базы данных
    • 2.2 Общие сведения
    • 2.3 Функциональное назначение
    • 2.4 Описание логической структуры программы
    • 2.5 Требования к техническому обеспечению
    • 2.6 Вызов программы
    • 2.7 Описание входных и выходных данных
  • Заключение
  • Список литературы
  • Приложение 1
  • Приложение 2
  • Приложение 3

Введение

Язык С# является относительно новым языком, о котором миру впервые стало известно тогда, когда Microsoft в июле 2000 г. объявила о выходе первой версии.NET Framework. С тех пор он сильно вырос в плане популярности и стал чуть ли не самым предпочитаемым языком среди разработчиков Windows- и Web-приложений, которые используют.NET Framework. Отчасти привлекательность языка С# связана с его понятным синтаксисом, который происходит от синтаксиса C/C++, но упрощает некоторые вещи, которые ранее не находили одобрения среди многих программистов. Несмотря на это упрощение, язык С# обладает той же мощью, что и C++, и потому теперь нет никакой причины не переходить на его использование. Этот язык не сложен, что делает его замечательным кандидатом для изучения элементарных приемов программирования.

Программа на языке C# выполняется в среде.NET Framework - это новая и революционная платформа, созданная компанией Microsoft для разработки приложений..NET Framework состоит, прежде всего, из огромной библиотеки программ, к которой можно обращаться из различных языков программирования с помощью различных технологий объектно-ориентированного программирования.

Исходный код, написанный на языке C#, компилируется в промежуточный язык (IL) в соответствии со спецификацией CLI. Код IL и ресурсы, такие как растровые изображения и строки, хранятся на диске в исполняемом файле, называемом сборкой, с расширением EXE или DLL в большинстве случаев. Сборка содержит манифест со сведениями о типах сборки, версии, языке и региональных параметрах и требованиях безопасности.

1. Теоретические основы программирования с использованием технологий Microsoft.NET

Платформа NET Framework по большей части состоит из гигантской библиотеки кода, который можно использовать из клиентских языков путем применения различных приемов объектно-ориентированного программирования. Эта библиотека поделена на модули, которые применяются в зависимости от того, какие результаты требуется получить.

Для разработки клиентских приложений под Windows используются две технологии.NET: Windows Forms (WinForms) и Windows Presentation Foundation (WPF). Обе эти технологии -- по сути, набор классов и элементов управления пользовательского интерфейса (предоставляемых.NET Framework), позволяющих разработчикам быстро создавать приложения, которые инсталлируются и работают под управлением операционной системы Microsoft Windows.

1.1 Создание приложения Windows Forms в среде Microsoft Visual Studio 2008

Под написанием приложения с помощью NET Framework подразумевается просто написание кода с использованием одного из языков, поддерживающих NET Framework, и библиотеки кода.NET.

Для выполнения курсового проекта было использовано средство Microsoft Visual Studio 2008 - продукт компании Майкрософт, включающий интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.

Одной из основных целей Visual Studio является обеспечение быстрого создания форм Windows Forms. При помощи визуального конструктора Windows Forms, панели инструментов Controls и различных элементов управления общего назначения.

Процесс создания приложения Windows Forms начинается точно так же, как и проекты всех других типов в Visual Studio: выбирается шаблон проекта Windows Application в диалоговом окне New Project и указывается местоположение исходных кодов приложения. Проекты типа Windows Forms Application состоят по умолчанию из класса формы и (в случае языка С#) из статического класса Program. После создания проекта мы получаем пустую форму, открытую в визуальном конструкторе Windows Forms.

Внутри визуального конструктора находится макет реальной формы - холст для интерфейса пользователя. При помощи этого холста можно добавлять на форму элементы управления и визуальные элементы, подстраивать внешний вид самой формы и переходить непосредственно к коду, который связан с формой.

Visual Studio выполняет за нас огромный объем работы, существенно упрощая создание функциональных оконных приложений и экономя наши усилия. Созданное приложение ведет себя так же, как и другие окна: его можно перемещать, закрывать, минимизировать и т. п.

Нам не требуется писать для этого никакого кода - все и так работает. То же самое справедливо и для кнопок, помещённых в окно. Достаточно два раза щелкнуть по ней мышью, чтобы Visual Studio понял: мы желаем иметь код, который должен выполняться при нажатии на эту кнопку. Все, что от нас требуется - это предоставить необходимый код.

Оконные приложения, естественно, не ограничиваются простыми формами с кнопками. Если посмотреть на панель с инструментами, то можно обнаружить большое количество самых разнообразных блоков, с помощью которых можно строить пользовательский интерфейс.

1.2 Доступ к данным

Для доступа к данным В.NET Framework предусмотрен специальный набор объектов, находящихся в пространстве имен system.Data, В совокупности такие объекты известны под названием ADO.NET.

ADO.NET -- это наименование набора классов, которые используются с С# и.NET Framework для доступа к данным в реляционном, табличноориентированном формате. Включающие реляционные базы данных, такие как Microsoft SQL Server и Microsoft Access, наряду с другими базами данных и даже не реляционными источниками данных. Технология ADO.NET интегрирована в.NET Framework и спроектирована для использования с любым языком.NET, в особенности -- С#. ADO.NET включает пространство имен System.Data и его вложенные пространства имен, такие как System. Data. SqlClient и System. Data.Linq.

ADO.NET состоит из двух фундаментальных частей -- объекта DataSet и провайдера данных.NET. Объект DataSet используется для того, чтобы хранить в программе набор данных, представленных в табличном виде; при этом совершенно безразлично, откуда поступили эти данные. Провайдер данных состоит из набора компонентов, специфических для конкретного источника данных, которые позволяют устанавливать соединение и осуществлять взаимодействие с этим источником. Каждый провайдер находится в собственном пространстве имен в рамках пространства имен System.Data.

Основной целью при создании ADO.NET было обеспечение простого доступа к реляционным данным. Несложные в использовании классы представляют таблицы, столбцы и строки, применяемые в реляционных базах данных. Кроме того, в ADO.NET вводится класс DataSet, который представляет набор данных, извлеченных из связанных таблиц, в виде единого объекта, благодаря чему удается сохранить целостность структуры отношений между ними. Это новый подход, привнесенный ADO.NET, позволяет существенно расширить возможности интерфейса доступа к данным.

После установления соединения с БД и получения данных из нее предоставляется возможность выполнять различные манипуляции над данными с помощью объекта DataSet, представляющего собой семейство объектов DataTabie (таблица данных). Объект DataTabie позволяет хранить данные в табличном виде; т. е. в виде столбцов и строк. Объект DataSet не является составной частью провайдера данных (существует только один тип объекта DataSet независимо от того, поступили данные из источника данных SQL Server или OLE DB), следовательно, объект DataSet не отвечает за установление соединения с источником. Это означает, что когда мы выполняем какие-либо манипуляции надданными, находящимися в DataSet, то мы на самом деле работаем всего лишь с копией этих данных, расположенных в памяти локального компьютера. Это позволяет уменьшить нагрузку на сервер и на сеть, поскольку установление соединения с источником данных происходит только в момент первоначального обращения к данным и тогда, когда мы завершаем их редактирование и необходимо внести сделанные изменения в саму базу данных. Наряду с преимуществами, такая архитектура работы без установленного соединения приводит к возникновению определенных проблем. В среде с полностью разорванным соединением пользователь не может быть уведомлен об изменениях, которые были внесены в данные другими пользователями. Если для принятия решений используются данные, выведенные на экран, то всегда существует вероятность того, что эта информация уже устарела, если другие пользователи в этот момент вносят изменения в эти же самые данные.

1.3 Отображение данных в Windows Forms

Одним из основных элементов, используемых в данном проекте, является элемент управления DataGridView - элемент Visual Studio для отображения данных в табличном формате. Он обеспечивает формат в виде строк-столбцов для отображения данных из различных источников.

Элемент управления DataGridView поддерживает самые различные источники данных. Например, поддерживается отображение пар "имя/значение" для коллекций (помимо стандартной поддержки наборов данных, возвращаемых из реляционных хранилищ данных).

Если выбрать для сетки источник данных, то в сетку будет добавлен столбец для каждого имеющегося в источнике данных столбца, а данные строк попадут в элемент DataGridView автоматически.

Каждая отдельная ячейка в DataGridView работает как встроенный элемент управления. Каждая ячейка может по-разному отображать содержащиеся в ней данные: флажки, выпадающие списки, ссылки, кнопки и текстовые поля -- все эти типы ячеек поддерживаются. Кроме возможностей по визуализации данных, каждая ячейка имеет собственный набор событий, которые можно перехватить в коде.

Мощь DataGridView состоит в его способности быстро привязаться к данным и отобразить их в табличном формате, а также в обеспечении хорошо настраиваемых возможностей редактирования. В элементе DataGridView редактирование ячеек выполняется как простое текстовое редактирование: каждая ячейка содержит текст, и вы можете редактировать текст и сохранять его в базе данных. Но вы можете предоставить и более специализированные возможности редактирования. Вы можете использовать различные готовые элементы управления (такие как DataGridViewButtonColumn, DataGridViewComboBoxColumn, а также прочие, наследующие от DataGridViewColumn) для отображения данных в столбцах сетки.

2. Разработка приложения Windows «Учет курсовых работ»

2.1 Структура базы данных

Для реализации приложения по учёту курсовых работ в СУБД Microsoft Access была создана база данных со структурой, представленной на рисунке 2.1.1.

Рисунок 2.1 - Структура базы данных

2.2 Общие сведения

Программа «Курсовой» предназначена для организации работы по учёту курсовых работ в учебных заведениях. Написана на языке C# в среде разработки Visual studio 2008. К необходимому программному обеспечению для запуска «Курсовой», относятся операционная система семейства Windows версии 95/98/NT/XP, Набор компонентов, позволяющих запускать приложения стандарта.NET Framework 3.5. Для того чтобы просмотреть текст программы или запустить её на выполнение - необходимо, чтобы на компьютере был установлена среда Microsoft Visual C# 2008.

2.3 Функциональное назначение

Программа позволяет пользователю работать с базой данных созданной в СУБД Microsoft Access. Программа реализует возможности: добавления, изменения (рис. 2.2.1), удаления, поиска (рис. 2.2.2) информации в базе данных, а также возможности выбирать данные по указанным критериям (рис. 2.2.3) и выгружать их Microsoft Excel. При нажатие кнопок на панели инструментов можно перейти в справочники.

Рисунок 2.2. - Добавление/редактирование строки.

Рисунок 2.3. - Поиск информации в таблице.

Рисунок 2.4. - Выборка информации.

Существует следующее функциональное ограничение на применение приложения - в поля с числовыми значениями нельзя вводить символьные значения, иначе программа остановит свою работу, до момента пока пользователь не введёт числовое значение (рис. 2.2.4)

Рисунок 2.5 - Ограничение на ввод

2.4 Описание логической структуры программы

Рисунок 2.6 - Обобщённый алгоритм работы программы

При запуске программы происходит подключение стандартных библиотек System; System.Collections.Generic; System.Linq; System.Windows.Forms и выполнение функции static void Main(). В которой выполняется включение визуальных стилей и запуск Form1. Происходит инициализация компонентов окна и запуск Form10,

Пользователю необходимо ввести пароль для доступа. При нажатие кнопки «Покинуть приложение» происходит выполнение метода Application.Exit(); и приложение завершает свою работу, если пользователь правильно ввёл пароль и нажал кнопку «Ввод» текущее окно закрывается и происходит загрузка главного окна, в котором происходит загрузка данных в таблицу и запуск метода sost();.

После чего программа находится в состоянии ожидания прерывания. При нажатии кнопки «добавить» или «редактировать» происходит загрузка окна редактирования в котором можно внести новые данные или отредактировать уже имеющиеся (Приложение 1) При нажатии кнопки «сохранить» в этом окне происходит закрытие окна редактирования и все изменения заносятся в таблицу. Для того чтобы изменения сохранить в базе данных нужно нажать кнопку «сохранить» главного окна (Приложение 1). Также из этого окна можно перейти в спавочники щёлкнув по кнопкам на панеле инструментов или выбрав в меню. В справочниках щёлкая по соответствующим кнопкам можно выполнять: добавление, удаление, изменение, поиск записи а также сохранение или отмену изменений с последующим выходом.

В главном окне можно осуществлять выборку данных из таблицы, для этого нужно выбрать необходимые значение в ComboBox1 и ComboBox2 и нажать кнопку «Сортировать» (Приложение 1) в результате чего в окне будут отображены записи удовлетворяющие условию сортировки. Можно выгрузить эти записи в EXCEL, щёлкнув по кнопке на главном окне(Примечане1). Для того чтобы показать все данные в таблице нужно нажать кнопку «Показать всё» (Приложение 1).

Для выхода из программы необходимо выбрать пункт «выход» в меню программы.

Таблица 1 - Спецификация функций модуля «имя модуля» (сборка)

Прототип функции

Назначение

System IO

Содержит типы, позволяющие осуществлять чтение и запись в файлы и потоки данных, а также типы для базовой поддержки файлов и папок.

System DATA

содержит классы для доступа к данным из различных источников и для управления этими данными.

System Forms

Данная библиотека позволяет создавать диалоговые окна и связь между ними.

System Text

Содержат типы для работы с кодировками символов и для управления строками. Позволяет обрабатывать текст с использованием регулярных выражений.

System ComponentModel

содержат типы, реализующие поведение компонентов и элементов управления во время разработки и выполнения. Данное пространство имен включает базовые классы и интерфейсы, предназначенные для реализации преобразователей атрибутов и типов, для привязки к источникам данных и для лицензирования компонентов.

System Drawing

Родительское пространство имен содержит типы, поддерживающие базовые графические функции GDI+. Дочерние пространства имен поддерживают более сложные функции двухмерной и векторной графики, дополнительные функции обработки изображений.

Таблица 2 - Спецификация класса

Поле класса (метод)

Способ доступа

Назначение

Назначение параметров методов класса

void dobav(Form3 x, bool z)

public

Добавление новой строки в таблицу и передача значений в строку из элементов окна редактирования.

bool z необходим чтобы определить нужно добавить новую строку или редактировать имеющуюся.

Form3 x необходим для доступа к элементам окна редактирования

void obnov(Form3 x)

public

Передача значений выбранной строки в окно редактирования.

Form3 x необходим для доступа к элементам окна редактирования

void sort()

private

Сортировка значений в таблице главного окна.

void sost()

private

Выводит количество строк и номер выбранной строки в панель состояния

void searchInDataGridView()

public

Осуществляет поиск в таблице

void combo()

private

Определяет данные в ComboBox2 в зависимости от того какое значение выбрано в ComboBox1.

void excel()

private

Выгрузка таблицы в EXCEL.

2.5 Требования к техническому обеспечению

Для корректной работы программы необходимы IBM PC совместимый компьютер, оперативная память 128 Mb и выше, свободное место на диске 5500 Кбайт под размещение приложения, наличие монитора.

2.6 Вызов программы

Программа представляет собой проект созданный в Visual studio C# 2008, запускаемый в любой операционной системе семейства Windows. Чтобы просмотреть текст программы или запустить её на выполнение - надо скопировать с носителя папку с проектом на жёсткий диск компьютера. Чтобы просмотреть текст программы, шаблоны диалоговых окон и др., то следует открыть файл с расширением.sln, являющийся файлом проекта.

2.7 Описание входных и выходных данных

Рисунок 2.7 - Введён неверный пароль

Рисунок 2.8 - Отображение таблицы

Рисунок 2.9 - Выбор записи и изменение значения в панели состояния

Рисунок 2.10 - Выбор значений в ComboBox1 и ComboBox2

Рисунок 2.11 - Результат нажатия кнопки «Выбрать»

Рисунок 2.12 - Результат сортировки, если нет соответствующих записей

Рисунок 2.13 - Результат нажатия кнопки «показать всё»

Рисунок 2.14 - Результат нажатия кнопки «Добавить новую запись»

Рисунок 2.15 - Результат нажатия кнопки «сохранить» окна редактирования

Рисунок 2.16 - Результат нажатия кнопки «Редактировать запись»

Рисунок 2.17 - Результат нажатия кнопки «Руководитель» главного окна

Рисунок 2.18 - Результат нажатия кнопки «добавить»

Рисунок 2.19 - Результат многократного нажатия кнопки «удалить»

Рисунок 2.20 - Результат нажатия кнопки поиск

Рисунок 2.21 - повторное нажатие кнопки поиск

Рисунок 2.22 - Результат удаления данных из родительской таблицы

Рисунок 2.23 - Результат нажатия кнопки «Автор» главного окна

Рисунок 2.24 - Результат нажатия кнопки «Изменить запись» окна «Автор»

Рисунок 2.25 - Результат нажатия кнопки «Дисциплина» главного окна

Рисунок 2.26 - Результат нажатия кнопки «Группа» главного окна

Рисунок 2.24 - Результат нажатия кнопки «Изменить запись» окна «Группа»

Рисунок 2.28 - Результат нажатия кнопки «Специальность» главного окна

приложение учет программа microsoft visual

Заключение

В ходе выполнения курсового проекта было создано Windows-приложение, которое позволяет проводить учет курсовых работ, с возможностью добавления, удаления, редактирования и поиска информации.

В ходе разработки курсового проекта была освоена работа с различными элементами интерфейса, работа с мастерами Visual C# 2008. А также работа с базами данных.

Список литературы

1. Нортроп, Т. Основы разработки приложений на платформе Microsoft.NET Framework. Учебный курс Microsoft. Перевод с англ./ Т. Нортроп, Ш. Уилдермьюс, Б. Райан. - М.: «Русская редакция», 2007. - 864 с.

2. Шилдт, Г. C#, учебный курс. / Г. Шилдт. - СПб.: Питер, 2003. - 512 с.

3. Робинсон, С. C# для профессионалов. Том 1. / С. Робинсон, О. Корнес, Д. Глин, Б. Харвей. - М.:Лори, 2003. - 1002 с.

4. Робинсон, С. C# для профессионалов. Том 2. / С. Робинсон, О. Корнес, Д. Глин, Б. Харвей. - М.:Лори, 2003. - 998 с.

5. Троелсен, Э. Язык программирования C# 2005 и платформа.NET 2.0, 3-е издание.: Пер с англ. / Э. Троелсен. - М.: ООО «И.Д. Вильямс», 2007. - 1168 с.

6. Ватсон, К. C#. / К. Ватсон, М. Беллиназо, О. Корнс, Д. Эспиноза. - М.: Лори, 2005. - 863 с.

7. ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам.

8. ГОСТ 2.106-68 ЕСКД. Текстовые документы.

Приложение 1

Кнопка «Добавить новую запись» главного окна.

Form3 v = new Form3(this, true);

v.ShowDialog();

Происходит запуск окна редактирования и передача указателя и значения true типа boll.

Кнопка «редактировать запись» главного окна.

Form3 v = new Form3(this,false);

v.ShowDialog();

Происходит запуск окна редактирования и передача указателя и значения false типа boll.

В окне редактирования запускается функция x.obnov(this);

public void obnov(Form3 x)

{

x.textBox1.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();

x.dateTimePicker1.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();

x.dateTimePicker2.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();

x.comboBox3.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();

x.comboBox1.SelectedValue = dataGridView1.CurrentRow.Cells[3].Value.ToString();

x.comboBox2.SelectedValue = dataGridView1.CurrentRow.Cells[2].Value.ToString();

x.comboBox4.SelectedValue = dataGridView1.CurrentRow.Cells[1].Value.ToString();

} // Передача значений выделенной строки в окно редактирования.

Кнопка «сохранить» окна редактирования.

if (s) x.dobav(this,true);

else x.dobav(this,false);

В зависимости от того какое значение передано в окно редактирования происходит запуск функции dobav(); главного окна.

public void dobav(Form3 x, bool z)

{

bool s = z;

if (s)

{

BindingNavigator bindingNavigator = new BindingNavigator(курсовойBindingSource);

bindingNavigator.AddNewItem.PerformClick();

} //Добавление новой строки в таблицу «курсовой». Происходит если из окна редактирования передано значение true.

dataGridView1.CurrentRow.Cells[4].Value = x.textBox1.Text.ToString();

dataGridView1.CurrentRow.Cells[5].Value = x.dateTimePicker1.Text;

dataGridView1.CurrentRow.Cells[6].Value = x.dateTimePicker2.Text;

dataGridView1.CurrentRow.Cells[7].Value = x.comboBox3.Text.ToString();

dataGridView1.CurrentRow.Cells[3].Value = x.comboBox1.SelectedValue;

dataGridView1.CurrentRow.Cells[2].Value = x.comboBox2.SelectedValue;

dataGridView1.CurrentRow.Cells[1].Value = x.comboBox4.SelectedValue; //Присваивание значений ячейкам таблицы.

int w=0;

int j;

for ( j = 0; j < dataGridView1.RowCount; j++)

{

if (dataGridView1.Rows[j].Cells[0].Value.ToString().Contains(w.ToString()))

{

j = -1;

w = w+1;

}

} //Определение свободного значения для ключевого поля.

dataGridView1.CurrentRow.Cells[0].Value = w;// присваивание значения ключевому полю.

if (s)

{

dataGridView1.CurrentCell = dataGridView1[1, 0];

}// Переведение маркира на первую строку.

}

Изменение значения в ComboBox1.

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

if (comboBox1.SelectedIndex == 0)

{

comboBox2.DataSource = db1DataSet.Руководитель;

comboBox2.DisplayMember = db1DataSet.Руководитель.ФИОColumn.ToString();

comboBox2.ValueMember = db1DataSet.Руководитель.id_руководителяColumn.ToString();

}

if (comboBox1.SelectedIndex == 2)

{

comboBox2.DataSource = db1DataSet.Дисциплина;

comboBox2.DisplayMember = db1DataSet.Дисциплина.ДисциплинаColumn.ToString();

comboBox2.ValueMember = db1DataSet.Дисциплина.Код_дисциплиныColumn.ToString();

}

if (comboBox1.SelectedIndex == 1)

{

comboBox2.DataSource = db1DataSet.Студент;

comboBox2.DisplayMember = db1DataSet.Студент.ФИОColumn.ToString();

comboBox2.ValueMember = db1DataSet.Студент.Номер_студенческогоColumn.ToString();

}

}

В зависимости от того какое значение выбрано в ComboBox1 происходит подключение данных к ComboBox2.

Кнопка «выбрать»

Происходит запуск двых методов sort(); и sost();

private void sort()

{

печатьToolStripMenuItem.Enabled = true;

toolStripButton10.Enabled = true;

dataGridView1.DataSource = db1DataSet.Курсовой;

int z = 0;

int x = 1;

int j; int[] A = new int[100];

int y = dataGridView1.RowCount;

if (comboBox2.Text != "")

{

if (comboBox1.SelectedIndex == 0)

{

z = 3;

}

if (comboBox1.SelectedIndex == 1)

{

z = 2;

}

if (comboBox1.SelectedIndex == 2)

{

z = 1;

}

for (j = 0; j < y; j++)

{

if (dataGridView1.Rows[j].Cells[z].Value.ToString() == comboBox2.SelectedValue.ToString())

{

A[j] = 1;

}

else

{

A[j] = 0;

}

}

for (j = 0; j < y; j++)

{

if (A[j] == 1)

{

dataGridView1.Rows[j].Visible = true;

dataGridView1.CurrentCell = dataGridView1[1, j];

x = x + 1;

}

else x = x + 0;

}

if (x == 1)

{

печатьToolStripMenuItem.Enabled = false;

новаяЗаписьToolStripMenuItem.Enabled = false;

toolStripButton10.Enabled = false;

toolStripButton6.Enabled = false;

dataGridView1.DataSource = t;

}

else

{

for (j = 0; j < y; j++)

{

if (A[j] != 1)

{

dataGridView1.Rows[j].Visible = false;

}

}

}

}

}

private void sost()

{

int f = dataGridView1.CurrentRow.Index;

f = f + 1;

int x=0;

for (int i = 0; i < dataGridView1.RowCount; i++)

{

if (dataGridView1.Rows[i].Visible == true)

x++;

}

toolStripStatusLabel5.Text = f.ToString();

toolStripStatusLabel3.Text = x.ToString();

}

Выгрузка в EXCEL

private void toolStripButton10_Click(object sender, EventArgs e)

{

Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();

Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);

Microsoft.Office.Interop.Excel._Worksheet worksheet = null;

app.Visible = true;

{

int v = 0;

worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.ActiveSheet;

worksheet.Name = "Exported";

for (int i = 0; i < dataGridView1.Columns.Count; i++)

{

worksheet.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;

}

for (int j = 0; j < dataGridView1.RowCount; j++)

if (dataGridView1.Rows[j].Visible == true)

{

v++;

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

{

for (int q = 0; q < dataGridView1.Columns.Count; q++)

{

worksheet.Cells[v+1, q + 1] = dataGridView1.Rows[j].Cells[q].Value.ToString();

}

}

}

}

Поиск информации

public void searchInDataGridView()

{

int i = comboBox1.SelectedIndex+1;

int l; int[] A = new int[100];

for ( l = 0; l < dataGridView1.RowCount; l++)

{

if (dataGridView1.Rows[l].Cells[i].Value.ToString().Contains(textBox1.Text))

A[l] = 1;

else

A[l] = 0;

}

for ( l = dataGridView1.RowCount-1; l >=0; l--)

{

if (A[l] == 1)

break;

}

int s = v;

for (int j = s; j < dataGridView1.RowCount; j++)

{

dataGridView1.Rows[j].Selected = false;

if (dataGridView1.Rows[j].Cells[i].Value != null)

{

if (dataGridView1.Rows[j].Cells[i].Value.ToString().Contains(textBox1.Text))

{

dataGridView1.Rows[j].Selected = true;

dataGridView1.CurrentCell = dataGridView1[1, j];

v = j+1;

if (v == l+1 )

v = 0;

break;

}

}

} }

Приложение 2

Приложение 3

Алгоритм поиска

Алгоритм сортировки

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.