// public ArrayList Osszegek = new ArrayList(); /// <summary> /// Osszegzendok es Osszegek osszeallitasa osszegfeladashoz /// </summary> /// <param name="listainfok"> /// listainformaciok /// </param> public void Osszegzesek(ListaInfok listainfok) { ListaInfok = listainfok; OsszesTablainfo = listainfok.Tablainfok; int matrixpontdb = Mezoinfok.Count; Sorrendinfok = listainfok.Sorrendinfok; Feltetelinfok = listainfok.Feltetelinfok; SorrendmezokSzama = Sorrendinfok.Mezoinfok.Count; Sorrendszovegek = new string[SorrendmezokSzama]; Oszlopfeltetelek = listainfok.Oszlopfeltetelinfok; OszlopokSzama = Oszlopfeltetelek.FeltetelinfoCollection.OszlopokSzama; OszlopTabinfok = Oszlopfeltetelek.FeltetelinfoCollection.OszlopTablainfok; Sorfeltetelek = listainfok.Sorfeltetelinfok; SorokSzama = Sorfeltetelek.FeltetelinfoCollection.SorokSzama; SorTabinfok = Sorfeltetelek.FeltetelinfoCollection.SorTablainfok; SorRekordKell = Sorfeltetelek.FeltetelinfoCollection.SorRekordKell; SorRowFilterKell = Sorfeltetelek.FeltetelinfoCollection.SorRowFilterKell; Tabinfoktolt(); //int osszegzendok = 0; //int atlagolandok = 0; for (int i = 0; i <= SorrendmezokSzama; i++) { ArrayList sorarray = new ArrayList(); for (int j = 0; j <= SorokSzama; j++) { ArrayList oszlarray = new ArrayList(); for (int k = 0; k <= OszlopokSzama; k++) { ArrayList matrixarray = new ArrayList(); for (int l = 0; l < matrixpontdb; l++) matrixarray.Add(new Decimal[] { 0, 0 }); oszlarray.Add(matrixarray); } sorarray.Add(oszlarray); } Osszegek.Add(sorarray); } //for (int i = 0; i < matrixpontdb; i++) //{ // Mezoinfo info = Mezoinfok[i]; // info.Osszegek = new ArrayList(); // for (int j = 0; j <= SorrendmezokSzama; j++) // { // ArrayList sorrendarray = new ArrayList(); // info.Osszegek.Add(sorrendarray); // for (int k = 0; k <= SorokSzama; k++) // { // ArrayList sorarray = new ArrayList(); // sorrendarray.Add(sorarray); // for (int l = 0; l <= OszlopokSzama; l++) // { // ArrayList oszloparray = new ArrayList(); // sorarray.Add(oszloparray); // oszloparray.Add(new Decimal[] { 0, 0 }); // } // } // } //} for (int i = 0; i < 1 + (OszlopokSzama + 1) * matrixpontdb; i++) { if (i == 0) ListaInfok.Hivo.report.Section3.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.LeftAlign; else ListaInfok.Hivo.report.Section3.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.RightAlign; } for (int i = 1; i < ListaInfok.Hivo.report.Section2.ReportObjects.Count; i++) ListaInfok.Hivo.report.Section2.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.RightAlign; }
/// <summary> /// feltetelek rendezese /// </summary> /// <param name="ListaInfo"> /// listainformacio /// </param> public void FeltRendezes(ListaInfok ListaInfo) { ArrayList sorrekordkell = SorRekordKell; ArrayList sorfilterkell = SorRowFilterKell; ArrayList egyresz = new ArrayList(); if (tipus == "feltetel" && urespoziciok.Count > 1) urespoziciok.RemoveAt(0); if (this.Count != 0) { do { ujkezdopoz = kezdopoz; egyresz = new ArrayList(); bool ujra = true; do { espoz = -1; nextespoz = -1; vagypoz = -1; nextvagypoz = -1; secondnyito = -1; nyitozpoz = -1; zarozpoz = -1; urespoz = -1; nexturespoz = -1; for (int i = 0; i < urespoziciok.Count; i++) { int egyurespoz = Convert.ToInt16(urespoziciok[i].ToString()); if (egyurespoz >= ujkezdopoz) { if (urespoz == -1) urespoz = egyurespoz; else { nexturespoz = egyurespoz; break; } } } for (int i = 0; i < nyitozarojelek.Count; i++) { int nyito = Convert.ToInt16(nyitozarojelek[i].ToString()); if (nyito >= ujkezdopoz) { if (nyitozpoz == -1) { nyitozpoz = nyito; for (int j = 0; j < zarojelpoziciok.Count; j++) { object[] egyzaro = (object[])zarojelpoziciok[j]; nyito = Convert.ToInt16(egyzaro[0].ToString()); if (nyito == nyitozpoz) { zarozpoz = Convert.ToInt16(egyzaro[1].ToString()); break; } } } else if (nyito > nyitozpoz) { secondnyito = nyito; break; } } } for (int i = 0; i < vagypoziciok.Count; i++) { int egyvagypoz = Convert.ToInt16(vagypoziciok[i].ToString()); if (egyvagypoz >= ujkezdopoz) { if (vagypoz == -1) vagypoz = egyvagypoz; else if (egyvagypoz > vagypoz) { nextvagypoz = egyvagypoz; break; } } } for (int i = 0; i < espoziciok.Count; i++) { int egyespoz = Convert.ToInt16(espoziciok[i].ToString()); if (egyespoz >= ujkezdopoz) { if (espoz == -1 && egyespoz < vagypoz) espoz = egyespoz; else if (egyespoz > vagypoz && nextespoz == -1) { nextespoz = egyespoz; break; } } } if (vagypoziciok.Count == 0 || tipus == "sor") { vegpoz = urespoz; ujra = false; } if (ujra) { if (nyitozarojelek.Count == 0 || ujkezdopoz > Convert.ToInt16(nyitozarojelek[nyitozarojelek.Count - 1].ToString())) { if (this[ujkezdopoz].KovetkezoFeltetelInfo != null && this[ujkezdopoz].KovetkezoFeltetelInfo.Tabinfo == this[ujkezdopoz].Tabinfo) { ujkezdopoz++; } else { vegpoz = ujkezdopoz; ujra = false; } } else { if (nyitozpoz > espoz && vagypoz > espoz && nyitozpoz != -1 && vagypoz >= nyitozpoz && (secondnyito > zarozpoz || secondnyito == -1)) { ujkezdopoz = zarozpoz; if (nextespoz == ujkezdopoz) ujkezdopoz++; if (ujkezdopoz >= this.Count - 1) { ujra = false; vegpoz = this.Count - 1; } } else if (vagypoz != -1 && vagypoz <= nyitozpoz) { if (this[vagypoz + 1].Tabinfo != this[vagypoz].Tabinfo) { ujra = false; vegpoz = vagypoz; } else ujkezdopoz++; } else if (nextvagypoz != -1 && nextvagypoz < zarozpoz) { if (secondnyito == nextvagypoz) vegpoz = nextvagypoz - 1; else vegpoz = nextvagypoz; ujra = false; } } } } while (ujra); object[] selinf = new object[Tablainfok.Count]; for (int i = 0; i < selinf.Length; i++) selinf[i] = new ArrayList(); bool[] kellfilter = new bool[vegpoz - kezdopoz + 1]; bool[] kellrekord = new bool[kellfilter.Length]; for (int i = kezdopoz; i <= vegpoz; i++) { Feltetelinfo egyfelt = this[i]; tabinfo = egyfelt.Tabinfo; int tabindex; if (tabinfo != null) tabindex = Tablainfok.IndexOf(tabinfo); else tabindex = Tablainfok.Count - 1; ArrayList ar = (ArrayList)selinf[tabindex]; ar.Add(egyfelt); if (tipus == "sor") { int filtindex = i - kezdopoz; Feltetelinfo elozofelt = null; Feltetelinfo kovfelt = null; if (i != kezdopoz) elozofelt = egyfelt.ElozoFeltetelInfo; if (i != vegpoz) kovfelt = egyfelt.KovetkezoFeltetelInfo; if (elozofelt != null && elozofelt.Tabinfo == tabinfo && elozofelt.EsVagy == "VAGY") { kellfilter[filtindex] = kellfilter[filtindex - 1]; kellrekord[filtindex] = kellrekord[filtindex - 1]; } else if (vagypoz == i) { if (nyitozpoz == i) { kellfilter[filtindex] = true; kellrekord[filtindex] = false; } else { if (kovfelt.Tabinfo == tabinfo) { kellfilter[filtindex] = true; kellrekord[filtindex] = false; ar.Add(kovfelt); i++; } } } else // essel kezdodik { kellfilter[filtindex] = true; kellrekord[filtindex] = true; } } egyresz.Add(egyfelt); } if (tipus == "sor") { SorRowFilterKell.Add(kellfilter); SorRekordKell.Add(kellrekord); } for (int i = 0; i < Tablainfok.Count; i++) { tabinfo = Tablainfok[i]; switch (tipus) { case "feltetel": tabinfo.SelectElemek.Add(selinf[i]); break; case "oszlop": tabinfo.OszlopSelectElemek.Add(selinf[i]); break; case "sor": tabinfo.SorSelectElemek.Add(selinf[i]); break; } } Reszelemek.Add(egyresz); kezdopoz = vegpoz + 1; } while (kezdopoz < this.Count && this[kezdopoz].Tabinfo != null); ArrayList tabar = null; int db = -1; if (tipus == "sor") { SorokSzama = Reszelemek.Count; db = SorokSzama; tabar=SorTablainfok; } if (tipus == "oszlop") { OszlopokSzama = Reszelemek.Count; db = OszlopokSzama; tabar = OszlopTablainfok; } if (tabar != null) { for (int i = 0; i < db; i++) { ArrayList egyar = new ArrayList(); egyresz = (ArrayList)Reszelemek[i]; for (int j = 0; j < egyresz.Count; j++) { Feltetelinfo egyfelt = (Feltetelinfo)egyresz[j]; egyar.Add(egyfelt.Tabinfo); } tabar.Add((Tablainfo[])egyar.ToArray(typeof(Tablainfo))); } } } }
/// <summary> /// objectum letrehozasa /// </summary> /// <param name="listainfok"> /// listainfok /// </param> /// <param name="fakuserinterface"> /// fakuserinterface /// </param> /// <param name="view"> /// a feltetelmeghatarozas view-ja /// </param> /// <param name="viewindex"> /// sorindex a view-ban /// </param> public Feltetelinfo(ListaInfok listainfok, FakUserInterface fakuserinterface, DataView view, int viewindex) { ListaInfok = listainfok; Feltetelinfok = ListaInfok.FeltColl; DataRow dr = view[viewindex].Row; Tablainfo tabinfo = fakuserinterface.GetByAzontip(dr["AZONTIP"].ToString()); Tabinfo = tabinfo; Cols mezocol = null; bool csakuressor = dr["MEZONEV"].ToString() == ""; ZaroZarojel = dr["ZAROZAROJEL"].ToString(); if (csakuressor) FeltetelSorLista = ZaroZarojel; else { mezocol = tabinfo.TablaColumns[dr["MEZONEV"].ToString()]; ColumnInfo = mezocol; NyitoZarojel = dr["NYITOZAROJEL"].ToString(); Relacio = dr["RELACIO"].ToString(); Ertek = dr["MASODIKELEM"].ToString(); EsVagy = dr["ESVAGY"].ToString(); FeltetelSorLista = NyitoZarojel; bool stringe = mezocol.DataType.ToString() == "System.String"; bool datume = mezocol.DataType.ToString() == "System.DateTime"; if (mezocol.Comboe) { FeltetelSorSelect = mezocol.ColumnName + Relacio; if (stringe) FeltetelSorSelect += "'"; FeltetelSorSelect += mezocol.Combo_Info.GetComboAktfileba(Ertek); if (stringe) FeltetelSorSelect += "'"; } else if (stringe) { if (Relacio == "=") { FeltetelSorSelect = mezocol.ColumnName + "like '%"+ Ertek + "%'"; } else FeltetelSorSelect = "substring(" + mezocol.ColumnName + ",1," + Ertek.Length + ")" + Relacio + "'" + Ertek + "'"; } else if (datume) FeltetelSorSelect = mezocol.ColumnName + Relacio + "'" + Ertek + "'"; else FeltetelSorSelect = mezocol.ColumnName + Relacio + Ertek; FeltetelSorLista += dr["ELSOELEM"].ToString(); // FeltetelSorSelect += Relacio; FeltetelSorLista += Relacio; //if (!mezocol.Comboe) //{ // if (mezocol.DataType.ToString() == "System.String" || mezocol.DataType.ToString() == "System.DateTime") // FeltetelSorSelect += "'" + Ertek + "'"; // else // FeltetelSorSelect += Ertek; //} //else // FeltetelSorSelect += mezocol.Combo_Info.GetComboAktfileba(Ertek); if (viewindex < ListaInfok.Hivo.userselectcount && view.Table.TableName=="FELTETEL") UserFeltetel = true; FeltetelSorLista += dr["MASODIKELEM"].ToString(); FeltetelSorLista += ZaroZarojel; } }
/// <summary> /// Feltetelek rendezese, Tabinfoktolt() hivas /// </summary> /// <param name="Listainfo"> /// a listainformacio /// </param> public void Rendezes(ListaInfok Listainfo) { ListaInfok = Listainfo; FeltRendezes(Listainfo); Tabinfoktolt(); }
/// <summary> /// feltetelinfo kollekcio FeltRendezes(listainfo) metodusat hivja /// </summary> /// <param name="listainfo"> /// listainfo /// </param> public override void Rendezes(ListaInfok listainfo) { base.FeltetelinfoCollection.FeltRendezes(listainfo); }
/// <summary> /// a feltetelinfok kollekciojanak FeltRendezes(listainfo) metodusat hivja, utana OszlopokOsszeAllit() /// </summary> /// <param name="listainfo"> /// listainfo /// </param> public override void Rendezes(ListaInfok listainfo) { base.FeltetelinfoCollection.FeltRendezes(listainfo); OszlopokOsszeAllit(); }
/// <summary> /// a feltetelinfok kollekciojanak Rendezes(listainformacio) metodusat hivja /// </summary> /// <param name="listainfo"> /// a listainformacio /// </param> public virtual void Rendezes(ListaInfok listainfo) { FeltetelinfoCollection.Rendezes(listainfo); }
/// <summary> /// pagevaltas /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public virtual void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) { string month1 = dateTimePicker1.Value.Month.ToString(); if (month1.Length == 1) month1 = "0" + month1; month1+="."; string month2 = dateTimePicker2.Value.Month.ToString(); if (month2.Length == 1) month2 = "0" +month2; month2 += "."; string nap1 = dateTimePicker1.Value.Day.ToString(); if (nap1.Length == 1) nap1 = "0" + nap1; string nap2 = dateTimePicker2.Value.Day.ToString(); if (nap2.Length == 1) nap2 = "0" + nap2; string year = dateTimePicker1.Value.Year.ToString() + "."; string datum1 = year + month1 + nap1; string datum2 = year + month2 + nap2; string utsonap; int tol = dateTimePicker1.Value.Month; int ig = dateTimePicker2.Value.Month; csakegyhonap = month1 == month2; if (!FakUserInterface.EventTilt) { if (e.TabPageIndex == 0) Beallitasok(); if (e.TabPageIndex == 1) { if (Datum1 != datum1 || Datum2 != datum2 || ValtozasLekerdez().Count != 0) { ValtozasBeallit(); Datumtomb.Clear(); //if (VanDatum) //{ Datum1 = datum1; Datum2 = datum2; string elem1; string elem2; string month; string kovmonth; // DateTime tim; for (int i = tol; i <= ig; i++) { month = i.ToString(); kovmonth = (i + 1).ToString(); if (month.Length == 1) month = "0" + month; if (kovmonth.Length == 1) kovmonth = "0" + kovmonth; kovmonth += "."; if (i == tol) { elem1 = year + month1 + nap1; if (csakegyhonap) elem2 = year + month2 + nap2; else { utsonap = Convert.ToDateTime(year + kovmonth + "01").AddDays(-1).Day.ToString(); elem2 = year + month + "." + utsonap; } } else { elem1 = year + month + ".01"; if (i < ig) { utsonap = Convert.ToDateTime(year + kovmonth + "01").AddDays(-1).Day.ToString(); elem2 = year + month + "." + utsonap; } else elem2 = year + month2 + nap2; } Datumtomb.Add(new string[] { elem1, elem2 }); } string[] egyelem = (string[])Datumtomb[0]; elem1 = egyelem[0]; elem2 = egyelem[1]; Datumtoligfeltetel = "(DATUMTOL IS NULL AND (DATUMIG IS NULL OR DATUMIG >= '" + elem1 + "') OR DATUMTOL IS NOT NULL AND DATUMTOL <= '" + elem2 + "' AND (DATUMIG IS NULL OR DATUMIG >= '" + elem1 + "')) "; Kezdetefeltetel = "(KEZDETE IS NULL OR KEZDETE <= '" + elem2 + "') AND (VEGE IS NULL OR VEGE >= '" + elem1 + "') "; // } Listainfok = new ListaInfok(this, osszesview); if (!Listainfok.Parameterhiba) { Listazas(); ValtozasTorol(); } } } } }