StevanovicMilan

Vežba 17, Zadatak 2

Mar 23rd, 2018
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Windows.Forms.DataVisualization.Charting;
  11.  
  12. namespace Vezba_17_2018
  13. {
  14.     public partial class Form1 : Form
  15.     {
  16.         public Form1()
  17.         {
  18.             InitializeComponent();
  19.         }
  20.  
  21.         private void PrikaziKategorije()
  22.         {
  23.             DataTable dt = Database.ExecuteQuery("SELECT COUNT(*) AS BrojKnjiga, Kategorija.Naziv AS NazivKategorije FROM Kategorija INNER JOIN Knjiga ON Kategorija.KategorijaID = Knjiga.KategorijaID GROUP BY Kategorija.Naziv");
  24.             foreach(DataRow dr in dt.Rows)
  25.             {
  26.                 ListViewItem item = listView1.Items.Add(dr["NazivKategorije"].ToString());
  27.                 item.Tag = dr["BrojKnjiga"];
  28.             }
  29.         }
  30.  
  31.         private void DrawChart()
  32.         {
  33.             chart.Series.Clear();
  34.             Series series = chart.Series.Add("Broj knjiga");
  35.             series.ChartType = SeriesChartType.Pie; // ovo promeniti za tip dijagrama
  36.             foreach (ListViewItem item in listView1.Items)
  37.             {
  38.                 if (item.Checked)
  39.                 {
  40.                     DataPoint dataPoint = new DataPoint();
  41.                     dataPoint.AxisLabel = item.Text;
  42.                     dataPoint.YValues = new double[] { (int)item.Tag };
  43.                     chart.Series["Broj knjiga"].Points.Add(dataPoint);
  44.                 }
  45.             }
  46.         }
  47.  
  48.  
  49.         private void Form1_Load(object sender, EventArgs e)
  50.         {
  51.             PrikaziKategorije();
  52.         }
  53.  
  54.         private void button2_Click(object sender, EventArgs e)
  55.         {
  56.             Close();
  57.         }
  58.  
  59.         private void button1_Click(object sender, EventArgs e)
  60.         {
  61.             DrawChart();
  62.         }
  63.     }
  64. }
  65.  
  66.  
  67.  
  68.  
  69. using System;
  70. using System.Collections.Generic;
  71. using System.Linq;
  72. using System.Text;
  73. using System.Threading.Tasks;
  74. using System.Data;
  75. using System.Data.OleDb;
  76.  
  77. namespace Vezba_17_2018
  78. {
  79.     class Database
  80.     {
  81.         public static DataTable ExecuteQuery(string query)
  82.         {
  83.             DataTable dt = new DataTable();
  84.             using (OleDbConnection connection = new OleDbConnection(Properties.Settings.Default.B13KolekcijaKnjigaConnectionString))
  85.             {
  86.                 using (OleDbCommand command = new OleDbCommand(query, connection))
  87.                 {
  88.                     connection.Open();
  89.                     using (OleDbDataReader reader = command.ExecuteReader())
  90.                     {
  91.                         dt.Load(reader);
  92.                     }
  93.                 }
  94.             }
  95.             return dt;
  96.         }
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment