private void dgv_listaOcen_indywidualne_CellEndEdit(object sender, DataGridViewCellEventArgs e) { string dataKolumny = dgv.Columns[e.ColumnIndex].HeaderText.ToString() + " 00:00:00.000"; int przedmiotID = (int)dgv[0, e.RowIndex].Value; lekcja l = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID); uczen_na_lekcji unl = new uczen_na_lekcji(listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, l.LekcjaID); //if (unl.Uczen_na_lekcjiID < 0) unl.dodajDoBazy(); unl.wylaczEdycje = false; int tmp = -1; try { tmp = unl.Ocena; unl.Ocena = Convert.ToInt32(dgv[e.ColumnIndex, e.RowIndex].Value.ToString()); } catch (Exception) { MessageBox.Show("wartosc musi byc z przedzialu <0,5> (0 = usuwanie oceny), akcja zostanie cofnieta"); unl.Ocena = tmp; dgv[e.ColumnIndex, e.RowIndex].Value = unl.Ocena; } if (unl.Ocena == 0) { dgv[e.ColumnIndex, e.RowIndex].Value = string.Empty; } dgv[dgv.Columns.Count - 1, e.RowIndex].Value = obliczSrednia(e.RowIndex).ToString(); dziennik.odswiezDGV(); }
void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e) { string dataKolumny = dgv.Columns[e.ColumnIndex].HeaderText.ToString() + " 00:00:00.000"; int przedmiotID = (int)dgv[0, e.RowIndex].Value; lekcja l = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID); uczen_na_lekcji unl = new uczen_na_lekcji(listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, l.LekcjaID); unl.Obecnosc = (dgv[e.ColumnIndex, e.RowIndex].Value.ToString().ToUpper() == "TRUE") ? 1 : 0; //dgv[dgv.Columns.Count - 1, e.RowIndex].Value = obliczSrednia(e.RowIndex); }
private void bw_DoWork(object sender, DoWorkEventArgs e) { // index 0 = przedmiot, index 1 = typ int[] przekazanaStruktura = (int[])e.Argument; for (int i = 0; i < listaUczniow.Count; i++) { DataGridViewRow row = new DataGridViewRow(); object[] oc = new object[dgv.Columns.Count]; oc[0] = listaUczniow[i].UczenID; oc[1] = listaUczniow[i].Imie + " " + listaUczniow[i].Nazwisko; for (int c = 2; c < dgv.ColumnCount; c++) { int przedmiotID = przekazanaStruktura[0]; string dataKolumny = dgv.Columns[c].HeaderText.ToString() + " 00:00:00.000"; lekcja l = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID); if (l.LekcjaID < 0) { l.dodajDoBazy(); } uczen_na_lekcji unl = new uczen_na_lekcji(listaUczniow[i].UczenID, l.LekcjaID); if (unl.Uczen_na_lekcjiID < 0) { unl = new uczen_na_lekcji { UczenNR = listaUczniow[i].UczenID, LekcjaNR = l.LekcjaID, Obecnosc = 0 }; try { unl.dodajDoBazy(); } catch (Exception) { //TODO rzuca jakims dziwnym wyjatkiem.. } } if ((ETypDanych)przekazanaStruktura[1] == ETypDanych.ocena) { //oc[c] = dataKolumny; //oc[c] = unl.Uczen_na_lekcjiID + " " + unl.LekcjaNR + " " + przedmiotID + " " + unl.UczenNR; if (unl.Ocena > 0) { oc[c] = unl.Ocena; } } else { oc[c] = (unl.Obecnosc != 0); } } row.CreateCells(dgv, oc); bw.ReportProgress(i, row); } }
/// <summary> /// dodaje lekcje do bazy danych /// </summary> public override void dodajDoBazy() { SQLite.Zapytanie = "INSERT INTO lekcja(klasaNR, przedmiotNR, dataNR) VALUES(@klasaNR,@przedmiotNR,@dataNR);"; SQLite.dodajParametr("klasaNR", this.klasaNR); SQLite.dodajParametr("przedmiotNR", this.przedmiotNR); SQLite.dodajParametr("dataNR", this.dataNR); wykonajZapytanie(ERodzajZapytania.wyslij); // jak juz jest dodana klasa to konstruktor zwroci l.lekcjaID != -1, wtedy ta wartosc jest przypisana do obiektu lekcja l = new lekcja(dataKolumny, this.przedmiotNR, this.klasaNR); this.lekcjaID = l.lekcjaID; SQLite.zamknijPolaczenie(); }
private void bw_DoWork(object sender, DoWorkEventArgs e) { if (sprawdzCzyWybraneDane() == false) { MessageBox.Show("wykres nie zostanie wczytany (brak danych grupy wejsciowych nt. zbioru, przedmiotu i typu)"); return; } var query = from d in listaDat.zbior group d by new { d.Dzien.Month, d.Dzien.Year } into g select new { Miesiac = g.Key, ID = g }; int sumaOcen = 0; int iloscDanych = 0; DateTime dzisiaj = DateTime.Now; foreach (var group in query) { var miesiacTabeli = new DateTime(group.Miesiac.Year, group.Miesiac.Month, 1); if (miesiacTabeli > dzisiaj) { return; } string miesiac = ""; foreach (var g in group.ID) { lekcja l = new lekcja(g.DataID, przedmiotNR, klasaNR); uczen_na_lekcji unl = new uczen_na_lekcji(zbiorNR, l.LekcjaID); if (typDanych == (int)ETypDanych.ocena) { sumaOcen += unl.Ocena; if (unl.Ocena > 0) { iloscDanych++; } } else { sumaOcen += unl.Obecnosc; iloscDanych++; } miesiac = g.Dzien.ToString("MMMM", new CultureInfo("pl")) + " " + g.Dzien.ToString("yyyy"); } double srednia = Math.Round(((float)sumaOcen) / iloscDanych, 2); object[] doPostepu = new object[] { miesiac, srednia }; bw.ReportProgress(100, doPostepu); } }
protected override void wczytajWiersze() { usunWiersze(); foreach (przedmiot p in listaPrzedmiotow.zbior) { DataGridViewRow row = (DataGridViewRow)dgv.RowTemplate.Clone(); row.CreateCells(dgv, p.PrzedmiotID, p.Nazwa); dgv.Rows.Add(row); } for (int r = 0; r < dgv.Rows.Count; r++) { for (int c = 2; c < dgv.Columns.Count - 1; c++) { int przedmiotID = (int)dgv[0, r].Value; string dataKolumny = dgv.Columns[c].HeaderText.ToString() + " 00:00:00.000"; lekcja l = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID); if (l.LekcjaID < 0) { l.dodajDoBazy(); } uczen_na_lekcji unl = new uczen_na_lekcji(listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, l.LekcjaID); if (unl.Uczen_na_lekcjiID < 0) { unl = new uczen_na_lekcji { UczenNR = listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, LekcjaNR = l.LekcjaID, Obecnosc = 0, }; unl.dodajDoBazy(); } if (TypDanych == ETypDanych.ocena) { if (unl.Ocena > 0) { dgv[c, r].Value = unl.Ocena; } } else { dgv[c, r].Value = (unl.Obecnosc != 0); } } } }
void bw_DoWork(object sender, DoWorkEventArgs e) { int zaznaczonyWierszUcznia = (int)e.Argument; for (int i = 0; i < listaPrzedmiotow.zbior.Count; i++) { DataGridViewRow row = new DataGridViewRow(); //row.CreateCells(dgv, listaPrzedmiotow.zbior[i].PrzedmiotID, listaPrzedmiotow.zbior[i].Nazwa); //int c = 2; object[] oc = new object[dgv.Columns.Count]; List <int> sum = new List <int>(); oc[0] = listaPrzedmiotow.zbior[i].PrzedmiotID; oc[1] = listaPrzedmiotow.zbior[i].Nazwa; int iloscDostepnychKolumn = 0; //object[] srednia = new object[dgv.Columns.Count-1]; for (int c = 2; c < dgv.Columns.Count - 1; c++) { int przedmiotID = listaPrzedmiotow.zbior[i].PrzedmiotID; string dataKolumny = dgv.Columns[c].HeaderText.ToString() + " 00:00:00.000"; lekcja l = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID); if (l.LekcjaID < 0) { l.dodajDoBazy(); } uczen_na_lekcji unl = new uczen_na_lekcji(listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, l.LekcjaID); if (unl.Uczen_na_lekcjiID < 0) { unl = new uczen_na_lekcji { UczenNR = listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, LekcjaNR = l.LekcjaID, Obecnosc = 0 }; try { unl.dodajDoBazy(); } catch (Exception) { //TODO rzuca jakims mega dziwnym wyjatkiem } } if (typDanych == ETypDanych.ocena) { //oc[c] = dataKolumny; //oc[c] = unl.Uczen_na_lekcjiID + " " + unl.LekcjaNR +" " + przedmiotID +" " + unl.UczenNR; if (unl.Ocena > 0) { oc[c] = unl.Ocena; if (dgv.Columns[c].DefaultCellStyle.BackColor != Color.Chartreuse) { sum.Add(unl.Ocena); iloscDostepnychKolumn++; } } } else { oc[c] = (unl.Obecnosc != 0); if (dgv.Columns[c].DefaultCellStyle.BackColor != Color.Chartreuse) { sum.Add((unl.Obecnosc != 0) ? 1 : 0); iloscDostepnychKolumn++; } } } object sredniaLubFrekwencja = 0; if (typDanych == ETypDanych.ocena) { sredniaLubFrekwencja = Math.Round(((float)sum.Sum() / iloscDostepnychKolumn), 2).ToString(); } else { sredniaLubFrekwencja = Math.Round(((float)sum.Sum() / iloscDostepnychKolumn), 3) * 100 + " %"; } if (iloscDostepnychKolumn == 0) { sredniaLubFrekwencja = " "; } //oc[dgv.Columns.Count - 1] = obliczSrednia(oc,true); oc[dgv.Columns.Count - 1] = sredniaLubFrekwencja; row.CreateCells(dgv, oc); bw.ReportProgress(i, row); } }