Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

свойства компонента dtGridView

Работа добавлена на сайт samzan.net:


9. Табличное и графическое представление данных

Подготовка к работе

По указанной литературе изучить:

1. свойства компонента dataGridView.

2. создание обработчиков событий Activated,  Click.

Контрольные вопросы

  1.  Дать характеристику компоненту, позволяющему создавать и работать с таблицей. В чем его особенность?
  2.  Какие свойства dataGridView позволяют устанавливать размеры таблицы, размеры ячеек?
  3.  Как производится нумерация элементов таблицы?
  4.  Какие свойства предоставляют доступ к столбцу, строке, ячейке таблицы?
  5.  Как производится инициализация таблицы?
  6.  Как добавить строки в таблицу?
  7.  Дайте понятие обработчика событий. Как он создается?
  8.  Назначение и основные свойства кнопки button, label, textBox.
  9.  Какие действия с элементами массива можно производить в таблице dataGridView?
  10.  Какие методы используются при рисовании?
  11.  Как установить заливку фигур и атрибуты карандаша?
  12.  Как вывести текс на графику?

Задание и порядок выполнения работы

  1.  Используя возможности ИСП Microsoft Visual C# Express, создать проект – оконное  приложение «Табличное представление данных» для вычисления конвертируемости рубля России в валюту заданных стран с учетом комиссии и вывода графика полученных валютных значений. Исходными данными для написания программы являются курсы валют заданных стран, банковские ставки и цвет столбцов диаграммы. Эти значения приведены в табл. 9.1 соответствии с номером варианта, а в табл. 9.2 – приведен полный список стран и валютных курсов, из которых формируются варианты.

Таблица .9.1

M

Наименование

Задания по варианту

Цвет столбцов

1

Цифровой код

840

036

826

949

392

синий

Процентная ставка

5

3

4

2

6

2

Цифровой код

208

840

980

978

756

зеленый

Процентная ставка

6

2

5

3

4

3

Цифровой код

826

752

840

124

949

пурпурный

Процентная ставка

2

4

5

3

6

4

Цифровой код

208

978

756

840

980

оранжевый

Процентная ставка

2

5

6

4

3

5

Цифровой код

840

352

826

392

398

коричневый

Процентная ставка

4

5

3

6

2

6

Цифровой код

398

840

036

978

702

малиновый

Процентная ставка

6

4

2

3

5

7

Цифровой код

826

124

840

578

208

голубой

Процентная ставка

5

4

6

2

3

8

Цифровой код

578

978

702

840

980

фуксии

Процентная ставка

4

5

2

3

6

9

Цифровой код

840

960

826

756

978

индиго

Процентная ставка

6

5

4

3

2

10

Цифровой код

702

840

392

978

124

лимонный

Процентная ставка

4

3

5

2

6

11

Цифровой код

036

826

208

578

960

желтый

Процентная ставка

3

5

2

6

4

12

Цифровой код

124

978

980

752

949

оливковый

Процентная ставка

3

2

4

5

6

Таблица 9.2

Цифровой код

Буквенный код

Единиц

Валюта

Курс* рубля

036

AUD

1

Австралийский доллар

29,80

826

GBP

1

Английский фунт стерлингов

45,30

208

DKK

10

Датских крон

53,40

840

USD

1

Доллар США

27,80

978

EUR

1

Евро

39,70

352

ISK

10

Исландских крон

44,60

398

KZT

10

Казахских тенге

19,10

124

CAD

1

Канадский доллар

28,90

960

KUA

1

Китайских юаней

42,86

578

NOK

10

Норвежских крон

50,80

702

SGD

1

Сингапурский доллар

20,45

949

TRY

1

Новая турецкая лира

17,60

980

UAH

10

Украинских гривен

34,90

752

SEK

10

Шведских крон

44,36

756

CHF

1

Швейцарский франк

31,55

392

JPY

10

Японских иен

34,55

* Курсы иностранных валют установлены банком РФ на май 2011 г.

  1.  Интерфейс проекта должен содержать следующие элементы:
  •   таблицу, заполняющую рабочую область для расчета заданных показателей (см. рис. 9.4);
  •   командные кнопки, элементы ввода данных и поясняющие надписи (рис. 9.1);
  1.  Добавить проект компонентами, при активизации которых происходит расчет показателей, заданных по варианту из таблицы 9.3 и вывод первой задачи в метку.

Таблица 9.3

N

Найти и вывести:

1

буквенный код валюты, с наибольшим курсом рубля;

отсортировать массив в порядке возрастания комиссионного сбора;

используя поиск, заданную процентную ставку;

2

среднюю процентную ставку;

отсортировать массив в порядке возрастания курса рубля;

используя поиск, заданную сумму выдачи;

3

наименьший комиссионный сбор банком;

отсортировать массив в порядке возрастания суммы выдачи;

используя поиск, заданный курс рубля;

4

наибольшую сумму выдачи по заданным процентным ставкам;

отсортировать массив в порядке возрастания процентных ставок;

используя поиск, заданный комиссионный сбор;

5

буквенный код валюты, с наименьшим курсом рубля;

отсортировать массив в порядке убывания процентных ставок;

используя поиск, заданный комиссионный сбор;

6

наибольшую из заданных процентных ставок;

отсортировать массив в порядке убывания курса рубля;

используя поиск, заданную сумму выдачи;

7

средний комиссионный сбор;

отсортировать массив в порядке убывания суммы выдачи;

используя поиск, заданный курс рубля;

8

наибольший курс рубля по заданным процентным ставкам;

отсортировать массив в порядке убывания комиссионного сбора;

используя поиск, заданную процентную ставку;

9

буквенный код валюты, с наибольшей суммой выдачи;

отсортировать массив в порядке возрастания процентных ставок;

используя поиск, заданный комиссионный сбор;

10

наименьшую из заданных процентных ставок;

отсортировать массив в порядке возрастания суммы выдачи;

используя поиск, заданный курс рубля;

11

средний комиссионный сбор;

отсортировать массив в порядке возрастания комиссионного сбора;

используя поиск, заданную сумму выдачи;

12

среднюю процентную ставку;

отсортировать массив в порядке убывания курса рубля;

используя поиск, заданный курс рубля;

  1.  Создать  приложение Windows Forms (Application).
  2.  Перенести на форму компоненты button1, dateTimePicker1, dataGridView1, label1, textBox1, button2, находящиеся на панели Элементов. Расположить их, как показано на рис. 9.1.

  1.  

Рис. 9.1. Заготовка интерфейса проекта «Табличное представление данных».

  1.  Используя свойство Text изменить надпись на форме на значение "Таблица", а остальным компонентам установить свойства в соответствии с выполняемыми ими функциями,  рис.9.3. Установить размены формы 700х300.
  2.  Выделить объект dataGridView1 и с помощью свойства Columns заполнить коллекцию – из 6 столбцов с соответствующими названиями. При этом использовать поле «Текст заголовка» и кнопку «Добавить» окна «Добавить столбец» (рис. 9.2).

Рис 9.2. Окно этапа проектирования

  1.  Сохранить код проекта командой «Сохранить все» в папке Р9 под именем TablGraph.
  2.  После вышеприведенных установок интерфейс проекта примет вид, подобный приведенному рисунку 9.3.

Рис. 9.3. Интерфейс проекта «Табличное представление данных» в режиме конструирования

  1.   Установить количество строк в таблице равным 5,  в соответствии с вариантом путем добавления их через метод dataGridView.Rows.Add() при инициализации компонентов.

public Form1()

       {

           InitializeComponent();

           dataGridView1.Rows.Add(5);   //добавление 5 строк

       }

  1.  Столбцы «Валюта», «КурсРуб» и «Ставка%» могут быть заполнены в процессе запуска проекта или программно, путем объявления этих значений в соответствующих массивах с инициализацией заданных стран, курсов и ставок.
  2.  Создать обработчик события кнопки «Принято» (button2_Click). В процессе его исполнения свободные ячейки столбцов должны заполниться данными, рассчитанными по соответствующим формулам:

ВзносРуб = Сумма для конверсии;

Комиссия = ВзносРуб * Ставка / 100;

СумВыдачи = (ВзносРуб – Комиссия) / КурсРубля;

  1.  Создать обработчик события кнопки «Очистить» (button1_Click), при исполнении которого столбцы «ВзноРубс», «Комиссия» и «СумВыдачи(у.е)» очищаются от данных.

Рис. 9.4. Таблица пересчета денежных сумм в режиме запуска.

                                 // объявление данных по варианту

       string[] Valuta = { "Доллар США", "Тур лира", "Евро", "Дат. крон", "Кит UA" };

       double[] Kurs = {27.80, 17.60, 39.70, 5.34, 42.86};

       double[] Vznoc = new double[5];

       int[] Stavka = {3, 4, 5, 2, 6};

       double[] Komis = new double[5];

       double[] SumR = new double[5];

                               // обработчик события расчета конверсии рубля

       private void button2_Click(object sender, EventArgs e) // Расчет комиссионных и суммы выдачи

       {

           try                          //охраняемый блок

           {

               if (double.Parse(textBox1.Text) > 0) // работа только с положительными числами

               {

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

                   {

                       dataGridView1.Rows[i].Cells[0].Value = Valuta[i];

                       dataGridView1.Rows[i].Cells[1].Value = Kurs[i];

                       dataGridView1.Rows[i].Cells[2].Value = textBox1.Text;

                       Vznoc[i] = System.Convert.ToDouble(dataGridView1.Rows[i].Cells[2].Value);

                       dataGridView1.Rows[i].Cells[3].Value = Stavka[i];

                       Komis[i] = Vznoc[i] * Stavka[i] / 100;

                       dataGridView1.Rows[i].Cells[4].Value = Komis[i];

                       SumR[i] = (Vznoc[i] - Komis[i]) / Kurs[i];

                       dataGridView1.Rows[i].Cells[5].Value = String.Format("{0:f2}", SumR[i]);

                   }

               }

               else MessageBox.Show("Надо вводить положительные цифры ", "Ошибочный ввод данных", MessageBoxButtons.OK, MessageBoxIcon.Warning);       

           }

           catch

           {

               MessageBox.Show("Надо вводить положительные цифры ", "Ошибочный ввод данных", MessageBoxButtons.OK, MessageBoxIcon.Error);

           }

       }

       private void button1_Click(object sender, EventArgs e)  //Очистка столбцов от данных

       {

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

           {

               dataGridView1.Rows[i].Cells[2].Value = " ";

               dataGridView1.Rows[i].Cells[4].Value = " ";

               dataGridView1.Rows[i].Cells[5].Value = " ";

           }

       }

  1.  Сохранить изменения в проекте.
  2.  Запустить проект на выполнение и опробовать действие всех кнопок. Внести в редактор сумму для конверсии и проконтролировать результат расчетов в соответствующих ячейках. Изменить сумму для конверсии, курс валюты или ставку и проконтролировать, как это повлияет на результаты расчетов.
  3.  Изменить размеры формы, установив свойство Size (720x550).
  4.  Добавить к проекту панель panel1 и разместить на ней кнопку button3 «График». Установить для panel1 свойство BorderStyle значение FixedSingle.
  5.  Создать обработчик события (button3_Click), при выполнении которого под таблицу выводится диаграмма валютных эквивалентов заданных стран. Цвет столбиков и заголовок диаграммы запрограммировать по варианту (табл.9.1) .

        private void button3_Click(object sender, EventArgs e)

       {

           int mx = 500; int a = 300;              //длина оси х  и отступ для заголовка диаграммы

           int x0 = 40; int y0 = 500;         //начала координат

           int[] h = new int[5];                       //массив столбцов

           int wc = 40; int dc = 25;                //ширина столбцов и расстояние между столбцами

           int m = 0;                                       //номер столбца с максимальным значением

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

               if (SumR[i]> SumR[m]) m=i;   //поиск максимального значения

           for (int i = 0; i < 5; i++)                  //расчет столбцов диаграммы с их масштабированием

               h[i] = (int)Math.Round((y0-a) * SumR[i] / SumR[m]);  //нормирование высоты столбцов

           Graphics g = Graphics.FromHwnd(this.Handle);  // рисуем

           Pen pen = Pens.Black;                   //карандашом черного цвета

           g.DrawString("Диаграмма конверсии валют разных стран", new Font("Arial", 14),

                                  Brushes.Red, 100, a-50);                     // вывод заголовка диаграммы

           g.DrawLine(pen, x0, y0, x0, y0 - h[m]);  //Рисуем ось Y

           g.DrawLine(pen, x0, y0, x0 + mx, y0);    //Рисуем ось Х 

           x0 = x0 + dc;                                 //отступ первого столбца

           Brush brush = Brushes.Red;         // заливка столбцов

           for (int i = 0; i < 5; i++) // Вывод столбцов с надписью валюты для каждого столбца

           {

               g.FillRectangle(brush, x0, y0 - h[i], wc, h[i]);     //заливка прямоугольной области

               g.DrawRectangle(pen, new Rectangle(x0, y0 - h[i], wc, h[i])); //прямоугольная область

               g.DrawString(String.Format("{0:f2}", SumR[i])+" у.е.", new Font("Arial", 10), Brushes.Black,  

                                  x0, y0 - h[i] - 20);   //вывод надписи над столбцами

               x0 = x0 + wc + dc;        //подготовка к следующему столбцу

    }

       }

Рис. 9.5. Проект «Табличное и графическое представление данных» в режиме запуска.

  1.  Запустить проект на выполнение и проверить действие кнопки «Графика».
  2.  Добавить кнопку (button4) «Заливка», активизация которой должна привести к очищению области построения графика, путем заливки прямоугольной области цветом формы.

private void button4_Click(object sender, EventArgs e)

       {

           int x0 = 40; int y0 = 280;                                //начало прямоугольника

           Graphics g = Graphics.FromHwnd(this.Handle);

           Brush brush = Brushes.White;                              //заливка белого цвета

           g.FillRectangle(brush, x0, y0, 510, y0 + 200);     //конец прямоугольника

       }

  1.  Для решения задач из (табл. 9.3) на панель установить три кнопки (button5, button6, button7), «Задача», «Сортировка», «Поиск» соответственно. Добавить редактор textBox2, в который нужно вводить число, для поиска идентичного в таблице. А также добавить метку (label2) «Ответ:» для вывода в нее решения Задачи1 (из табл. 9.3)  
  2.  Создать для всех кнопок обработчики событий, в каждый из которых внести программный код в соответствии с функцией, заданной по варианту в таблице 9.3.
  3.  Сохранить изменения в проекте. Запустить его и проверить действие всех кнопок.




1. Учебное пособие- Ознакомление с приложениями Windows
2. Задание к лабораторной работе 2 Администрирование CSEсредства RIS
3. Чехословацька криза 1968 року
4. ~аза~станда туризмді дамыту туралы ба~дарламасы елімізде туризм саласын дамыту жолдарын к~рсететін ма~ыз
5.  nарной алгебраической операцией на X называется отображение
6. тема управления цели управления
7. тематики УТВЕРЖДЕНО- Методическим Советом ПИф ГОУ ВПО РГТЭУ Протокол от 200 г
8. Лекція 5 нейролінгвістичне програмування як реалізація моделі прихованого управління У цій лекції викл
9. Реферат- Доказательства в уголовном процессе
10. Уголь нефть и газ Украины
11. закон перехода количественных изменений в качественные3 б закон взаимопроникновени
12. МАТЕРИАЛОВЕДЕНИЕ
13. Семейная духовная традиция русского крестьянства
14. темам курса Гражданское право
15. Лабораторная работа 5 Приемы синтеза линейчатых графических узоров Нарисовать узор из 24 эллипсов
16. Тема 1 Понятие предпринимательского права
17. РЕФЕРАТ дисертації на здобуття наукового ступеня доктора медичних наук Полтава 1999.html
18. большевика убитого здесь черносотенцем 18 октября 1905 г
19. 30 Официальный документ 2
20. Роль метафоры в текстах научной публицистики.html