BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Чертаене на графика в Windows Forms Application, Мнения, съвети и напътствия
Zombayo
Публикувано на: 05-01-2017, 15:52
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 88
Регистриран на: 30.04.05



Здравейте,
може ли мнение и напътствия за това как мога да начертая графика подобна на тази която съм качил, на база изчислени резултати от "май ес кю ел"

За сега тези резултатати излизат в месиджбокс но те са много неразбираеми за потребителите.

До сега не ми се е налагало да чертая графики и за това всяко едно мнение и напътствие ще ми е от полза.

На снимката най-долу където е годината, ще трябва да се сменя спрямо избраната година от потребителите през комбобоксове

Също така с годината трябва да залепя и датата зад нея.

Ще кача скрийн и на изчислените стойности в месиджбокс

Това е целият ми код, който вади резултатите в месиджбокс

CODE

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace HydroAnalyzer_v0._4
{
   public partial class frm_Main : Form
   {
       private object connection;

       public frm_Main()
       {          
           InitializeComponent();
       }

       private void frm_Main_Load(object sender, EventArgs e)
       {
           //Импорт на номер на станция от базата.
           string MyConString = "SERVER=localhost;" +
               "DATABASE=hydrodb;" +
               "UID=root;" +
               "PASSWORD=;";
           MySqlConnection connection = new MySqlConnection(MyConString);
           string command = "select Station from spisakhyd";
           MySqlDataAdapter da = new MySqlDataAdapter(command, connection);
           DataTable dt = new DataTable();
           da.Fill(dt);
           foreach (DataRow row in dt.Rows)
           {
               string rowz = string.Format("{0}", row.ItemArray[0]);
               comboBox1.Items.Add(rowz);
           }
           connection.Close();


       }

       private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
       {
           string MyConString1 = "SERVER=localhost;" +
                   "DATABASE=hydrodb;" +
                   "UID=root;" +
                   "PASSWORD=;";
           MySqlConnection connection1 = new MySqlConnection(MyConString1);

           string command1 = "select Dat FROM hydmes where Station=" + comboBox1.SelectedItem.ToString();
           MySqlDataAdapter da1 = new MySqlDataAdapter(command1, connection1);
           DataTable dt1 = new DataTable();
           da1.Fill(dt1);

           comboBox2.Items.Clear();
           comboBox3.Items.Clear();
           comboBox2.SelectedItem = -1;
           comboBox3.SelectedItem = -1;
           foreach (DataRow row in dt1.Rows)
           {
               string rowz = string.Format("{0}", row.ItemArray[0]);
               comboBox2.Items.Add(rowz);
               comboBox3.Items.Add(rowz);
           }
           connection1.Close();
       }

       private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
       {

       }

       private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
       {

       }

       private void button1_Click(object sender, EventArgs e)
       {
           //Проверка за начална и крайна дата
           var StartDate = comboBox2.Text;
           var EndDate = comboBox3.Text;
           var eDate = Convert.ToDateTime(EndDate);
           var sDate = Convert.ToDateTime(StartDate);
           if (StartDate != "" && StartDate != "" && sDate > eDate)
           {
               MessageBox.Show("Грешка! Въвели сте по-голяма начална дата от крайната!");
           }

           string MyConString2 = "SERVER=localhost;" +
                   "DATABASE=hydrodb;" +
                   "UID=root;" +
                   "PASSWORD=;";
           MySqlConnection connection2 = new MySqlConnection(MyConString2);


           string command2 = "select year(Dat),month(Dat),min(vkolmin),avg(Vkolsre),Max(Vkolmax) from hydmes where station='"
               + comboBox1.SelectedItem.ToString() + "' and Dat between '"
               + comboBox2.SelectedItem.ToString() + "' and '" + comboBox3.SelectedItem.ToString()
               + "' group by year(dat),month(Dat)";
           MySqlDataAdapter da2 = new MySqlDataAdapter(command2, connection2);
           DataTable dt2 = new DataTable();
           da2.Fill(dt2);

           string s = "";
           foreach (DataRow row in dt2.Rows)
           {
               string rowz = string.Format("{0}, {1}, {2}, {3}, {4}", row.ItemArray[0], row.ItemArray[1], row.ItemArray[2],
                   row.ItemArray[3], row.ItemArray[4]);
               s += "-" + rowz;
           }

           MessageBox.Show(s);

           connection2.Close();

       }

       private void frm_Main_FormClosed(object sender, FormClosedEventArgs e)
       {
           Application.ExitThread();
       }
   }
}



--------------------
CLEAN CODE NOT RECOMMENDED
PMEmail Poster
Top
Zombayo
Публикувано на: 05-01-2017, 16:00
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 88
Регистриран на: 30.04.05



Не мога да кача направя upload на снимка, не зная защо затова ще ви дам линкове със снимките за да ги видите:

Линк 1 за графиката: https://s29.postimg.org/xbjgiqfbb/image.jpg

Линк 2 скрийн на изчислените резултати: https://s28.postimg.org/fsj4qbgjh/image.jpg


--------------------
CLEAN CODE NOT RECOMMENDED
PMEmail Poster
Top
hyankov83
Публикувано на: 05-01-2017, 16:03
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 95
Регистриран на: 20.10.16



Тоя проект да го беше качил в github, до сега щяхме да сме го написали задружно icon_wink.gif

https://www.google.bg/search?q=winforms+charts+free

Edit:
А това за което питаш се казва 'line chart'

Това мнение е било редактирано от hyankov83 на 05-01-2017, 16:07
PMEmail Poster
Top
Zombayo
Публикувано на: 05-01-2017, 16:11
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 88
Регистриран на: 30.04.05



QUOTE (hyankov83 @ 05-01-2017, 16:03)
Тоя проект да го беше качил в github, до сега щяхме да сме го написали задружно icon_wink.gif

https://www.google.bg/search?q=winforms+charts+free

Edit:
А това за което питаш се казва 'line chart'

След като го инсталирам ?

Добра е идеята за github, но да не ви тормозя чак толкова icon_smile.gif


--------------------
CLEAN CODE NOT RECOMMENDED
PMEmail Poster
Top
Golden Gega
Публикувано на: 05-01-2017, 16:13
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 527
Регистриран на: 04.06.10



https://social.msdn.microsoft.com/Forums/vs...m=MSWinWebChart

и видео

https://www.youtube.com/watch?v=hhr2mi-TBLY

Това мнение е било редактирано от Golden Gega на 05-01-2017, 16:14
PMEmail Poster
Top
Zombayo
Публикувано на: 05-01-2017, 16:18
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 88
Регистриран на: 30.04.05



QUOTE (Golden Gega @ 05-01-2017, 16:13)
https://social.msdn.microsoft.com/Forums/vs...m=MSWinWebChart

и видео

https://www.youtube.com/watch?v=hhr2mi-TBLY

Благодаря Ви !
Ако има нещо, ще пиша тук


--------------------
CLEAN CODE NOT RECOMMENDED
PMEmail Poster
Top
Bender
Публикувано на: 05-01-2017, 18:05
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3740
Регистриран на: 19.06.14



QUOTE (Zombayo @ 05-01-2017, 17:18)
QUOTE (Golden Gega @ 05-01-2017, 16:13)
https://social.msdn.microsoft.com/Forums/vs...m=MSWinWebChart

и видео

https://www.youtube.com/watch?v=hhr2mi-TBLY

Благодаря Ви !
Ако има нещо, ще пиша тук

Няма защо! Чакам с нетърпение!

Това мнение е било редактирано от Bender на 05-01-2017, 18:06


--------------------
Живота е спагети, кода за да работи добре трябва да го наподобява - Дон Реба
...
Живеем в греховни времена, какво очакваш богоугоден и благочестив код ли? - Дон Реба
...
много положителна енергия черпя от вас двамата,единият комунистически девствен,другият яко яхнал асемблерните розови понита - saruman
...
Рано или късно усерите на Виндофс разбират че стоят от неправилната страна на хуя. - ici
PM
Top
Zombayo
Публикувано на: 06-01-2017, 10:36
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 88
Регистриран на: 30.04.05



Как да изкарам query-то в тази графика ?

CODE
private void chart1_Click(object sender, EventArgs e)
       {
           string MyConString3 = "SERVER=localhost;" +
                   "DATABASE=hydrodb;" +
                   "UID=root;" +
                   "PASSWORD=;";
           MySqlConnection connection3 = new MySqlConnection(MyConString3);


           string command3 = "select year(Dat),month(Dat),min(vkolmin),avg(Vkolsre),Max(Vkolmax) from hydmes where station='"
               + comboBox1.SelectedItem.ToString() + "' and Dat between '"
               + comboBox2.SelectedItem.ToString() + "' and '" + comboBox3.SelectedItem.ToString()
               + "' group by year(dat),month(Dat)";
           MySqlDataAdapter da3 = new MySqlDataAdapter(command3, connection3);
           DataTable dt3 = new DataTable();
           da3.Fill(dt3);

           string s = "";
           foreach (DataRow row in dt3.Rows)
           {
               string rowz = string.Format("{0}, {1}, {2}, {3}, {4}", row.ItemArray[0], row.ItemArray[1], row.ItemArray[2],
                   row.ItemArray[3], row.ItemArray[4]);
               s += "-" + rowz;
           }
           connection3.Close();
       }


Тук осъществявам връзката с MySQL и искам query-то да излезне в графиката, но не зная foreach-a дали ми трябва в този случай ?


--------------------
CLEAN CODE NOT RECOMMENDED
PMEmail Poster
Top
Bender
Публикувано на: 06-01-2017, 10:43
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3740
Регистриран на: 19.06.14



тоя код не гарантира затварянето на връзката към базата !


--------------------
Живота е спагети, кода за да работи добре трябва да го наподобява - Дон Реба
...
Живеем в греховни времена, какво очакваш богоугоден и благочестив код ли? - Дон Реба
...
много положителна енергия черпя от вас двамата,единият комунистически девствен,другият яко яхнал асемблерните розови понита - saruman
...
Рано или късно усерите на Виндофс разбират че стоят от неправилната страна на хуя. - ici
PM
Top
Zombayo
Публикувано на: 06-01-2017, 10:52
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 88
Регистриран на: 30.04.05



QUOTE (Bender @ 06-01-2017, 10:43)
тоя код не гарантира затварянето на връзката към базата !

Друг е въпроса колега


--------------------
CLEAN CODE NOT RECOMMENDED
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0