protected ReportColumn addColumn(float x, float width) { ReportColumn result = new ReportColumn(columns.Count, x, width, String.Empty); columns.Add(result); result.Lista = this; return(result); }
protected ReportColumn addColumn(float x, float width, string headerTitle, StringFormat headerFormat) { ReportColumn result = new ReportColumn(columns.Count, x, width, headerTitle); result.HeaderFormat = headerFormat; columns.Add(result); result.Lista = this; return(result); }
protected ReportColumn addColumn(int itemsIndex, float x, float width, StringFormat itemRectFormat, string format) { ReportColumn result = new ReportColumn(itemsIndex, x, width, String.Empty); result.Format = format; result.ItemRectFormat = itemRectFormat; columns.Add(result); result.Lista = this; return(result); }
protected float getColumnMaxWidth(int colIndex, Graphics g, Font f) { ReportColumn col = columns[colIndex]; float max = 0; for (int i = 0; i < items.Count; i++) { object[] itemsRow = items[i]; max = Math.Max(max, col.getMaxWidth(g, itemsRow, f)); } return(max); }
protected ReportColumn addColumn(int itemsIndex, float x, float width, string format, StringFormat itemRectFormat, string headerTitle, StringFormat headerFormat) { ReportColumn result = new ReportColumn(itemsIndex, x, width, headerTitle); result.Format = format; result.ItemRectFormat = itemRectFormat; result.HeaderFormat = headerFormat; columns.Add(result); result.Lista = this; return(result); }
private void createColumns(Graphics g, RectangleF contentBounds) { float gridWidth = getGridTextWidth(this.formGrid, TEST_TEXT); float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width; float rankWidthCm = 0.7f; float rankWidth = Izvestaj.convCmToInch(rankWidthCm); float imeWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth; float prezimeWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth; // float godinaWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth; float polWidthCm = 1.5f; float polWidth = Izvestaj.convCmToInch(polWidthCm); float klubWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth; float drzavaWidth = this.formGrid.Columns[4].Width * printWidth / gridWidth; float xRank = contentBounds.X; float xIme = xRank + rankWidth; float xPrezime = xIme + imeWidth; float xPol = xPrezime + prezimeWidth; float xKlub = xPol + polWidth; float xDrzava = xKlub + klubWidth; float xRightEnd = xDrzava + drzavaWidth; float delta = (contentBounds.Right - xRightEnd) / 2; // moza da bude i negativno if (delta < -contentBounds.X) { delta = -contentBounds.X; } xRank += delta; xIme += delta; xPrezime += delta; xPol += delta; xKlub += delta; xDrzava += delta; xRightEnd += delta; StringFormat rankFormat = Izvestaj.centerCenterFormat; StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap); imeFormat.Alignment = StringAlignment.Near; imeFormat.LineAlignment = StringAlignment.Center; StringFormat prezimeFormat = new StringFormat(StringFormatFlags.NoWrap); prezimeFormat.Alignment = StringAlignment.Near; prezimeFormat.LineAlignment = StringAlignment.Center; StringFormat polFormat = new StringFormat(StringFormatFlags.NoWrap); polFormat.Alignment = StringAlignment.Near; polFormat.LineAlignment = StringAlignment.Center; StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap); klubFormat.Alignment = StringAlignment.Near; klubFormat.LineAlignment = StringAlignment.Center; StringFormat drzavaFormat = new StringFormat(StringFormatFlags.NoWrap); drzavaFormat.Alignment = StringAlignment.Near; drzavaFormat.LineAlignment = StringAlignment.Center; StringFormat rankHeaderFormat = Izvestaj.nearCenterFormat; StringFormat imeHeaderFormat = Izvestaj.nearCenterFormat; StringFormat prezimeHeaderFormat = Izvestaj.nearCenterFormat; StringFormat polHeaderFormat = Izvestaj.nearCenterFormat; StringFormat klubHeaderFormat = Izvestaj.nearCenterFormat; StringFormat drzavaHeaderFormat = Izvestaj.nearCenterFormat; String rankTitle = "RB"; String imeTitle = "Ime"; String prezimeTitle = "Prezime"; String polTitle = "Pol"; String klubTitle = "Klub"; String drzavaTitle = "Drzava"; Columns.Clear(); bool drawItemRect = false; ReportColumn column = addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat); column.DrawItemRect = drawItemRect; column = addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat); column.DrawItemRect = drawItemRect; column = addColumn(xPrezime, prezimeWidth, prezimeFormat, prezimeTitle, prezimeHeaderFormat); column.DrawItemRect = drawItemRect; column = addColumn(xPol, polWidth, polFormat, polTitle, polHeaderFormat); column.DrawItemRect = drawItemRect; column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat); column.DrawItemRect = drawItemRect; column = addColumn(xDrzava, drzavaWidth, drzavaFormat, drzavaTitle, drzavaHeaderFormat); column.DrawItemRect = drawItemRect; }
private void doCreateColumns(Graphics g, RectangleF contentBounds, float funkcijaWidth, float imeWidth, float klubWidth) { float xFunkcija = contentBounds.X + (columnNumber - 1) * contentBounds.Width / 2; float xIme = xFunkcija + funkcijaWidth; float xKlub = xIme + imeWidth; float xRightEnd = xKlub + klubWidth; float rightMargin; if (!sveSpraveNaJednojStrani) { rightMargin = contentBounds.Right; } else { rightMargin = contentBounds.Right - (2 - columnNumber) * contentBounds.Width / 2; } // Kada imam dve kolone, razmak izmedju tabela podesavam da bude isti kao i razmak sa leve i desne strane. float delta; if (columnNumber == 1) { delta = contentBounds.X - (2 / 3.0f) * (contentBounds.X - (xRightEnd - rightMargin)); // moza da bude i negativno if (delta > contentBounds.X) { delta = contentBounds.X; } xFunkcija -= delta; xIme -= delta; xKlub -= delta; xRightEnd -= delta; } else { delta = (1 / 3.0f) * (contentBounds.X - (xRightEnd - rightMargin)); // moza da bude i negativno if (delta < 0) { delta = 0.0f; } xFunkcija += delta; xIme += delta; xKlub += delta; xRightEnd += delta; } StringFormat funkcijaFormat = Izvestaj.centerCenterFormat; StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap); imeFormat.Alignment = StringAlignment.Near; imeFormat.LineAlignment = StringAlignment.Center; StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap); klubFormat.Alignment = StringAlignment.Near; klubFormat.LineAlignment = StringAlignment.Center; StringFormat funkcijaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat imeHeaderFormat = Izvestaj.centerCenterFormat; StringFormat klubHeaderFormat = Izvestaj.centerCenterFormat; String funkcijaTitle = "Funkcija"; String imeTitle = "Ime"; String klubTitle = "Klub/Drzava"; Columns.Clear(); ReportColumn column1 = addColumn(xFunkcija, funkcijaWidth, funkcijaFormat, funkcijaTitle, funkcijaHeaderFormat); column1.Image = SlikeSprava.getImage(sprava); column1.Split = true; column1.Span = true; ReportColumn column; column = addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat); column.Image = SlikeSprava.getImage(sprava); column.Split = true; column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat); column.Image = SlikeSprava.getImage(sprava); column.Split = true; if (column1.Span) { column1.SpanEndColumn = column; } }
private void createColumns(Graphics g, RectangleF contentBounds) { float gridWidth = getGridTextWidth(this.formGrid, TEST_TEXT); float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width; // kolo i kval sam podesio kao polovinu Rank kolone. float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth; float imeWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth; float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth; float koloWidth = rankWidth / 2; float ocenaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth; float kvalWidth = rankWidth / 2; int brojOcena = 3; float xRank = contentBounds.X; float xIme = xRank + rankWidth; float xKlub = xIme + imeWidth; float xKolo = 0.0f; float xSprava; xKolo = xKlub + klubWidth; xSprava = xKolo + koloWidth; float xTotal = xSprava + (ocenaWidth * brojOcena); float xKval = xTotal + ocenaWidth; float xRightEnd = xKval; if (kvalColumn) { xRightEnd += kvalWidth; } float delta = (contentBounds.Right - xRightEnd) / 2; // moza da bude i negativno if (delta < -contentBounds.X) { delta = -contentBounds.X; } xRank += delta; xIme += delta; xKlub += delta; xKolo += delta; xSprava += delta; xTotal += delta; xKval += delta; xRightEnd += delta; float xE = xSprava + ocenaWidth; float xPen = xE + ocenaWidth; float xTot = xPen; float spravaDWidth = ocenaWidth; float spravaEWidth = ocenaWidth; float spravaTotWidth = ocenaWidth; StringFormat rankFormat = Izvestaj.centerCenterFormat; StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap); imeFormat.Alignment = StringAlignment.Near; imeFormat.LineAlignment = StringAlignment.Center; StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap); klubFormat.Alignment = StringAlignment.Near; klubFormat.LineAlignment = StringAlignment.Center; StringFormat koloFormat = new StringFormat(StringFormatFlags.NoWrap); koloFormat.Alignment = StringAlignment.Center; koloFormat.LineAlignment = StringAlignment.Center; StringFormat spravaFormat = Izvestaj.centerCenterFormat; StringFormat totalFormat = Izvestaj.centerCenterFormat; StringFormat kvalFormat = Izvestaj.centerCenterFormat; StringFormat rankHeaderFormat = Izvestaj.centerCenterFormat; StringFormat imeHeaderFormat = Izvestaj.centerCenterFormat; StringFormat klubHeaderFormat = Izvestaj.centerCenterFormat; StringFormat koloHeaderFormat = Izvestaj.centerCenterFormat; StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat totalHeaderFormat = Izvestaj.centerCenterFormat; String rankTitle = "Rank"; String imeTitle = "Ime"; String klubTitle = "Klub"; String koloTitle = ""; String totalTitle = "Total"; String kvalTitle = String.Empty; Columns.Clear(); addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat); addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat); ReportColumn column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat); column = addSpravaFinaleKupaColumn(column.getItemsIndexEnd(), 2, xKolo, koloWidth, null, koloFormat, koloTitle, koloHeaderFormat); string fmtD = "F" + Opcije.Instance.BrojDecimalaD; string fmtE = "F" + Opcije.Instance.BrojDecimalaE; string fmtPen = "F" + Opcije.Instance.BrojDecimalaPen; string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal; ReportColumn column1; column1 = addSpravaFinaleKupaColumn(column.getItemsIndexEnd(), 2, xSprava, spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat); column1.Image = SlikeSprava.getImage(sprava); column1.Split = true; column1.Span = true; column = addSpravaFinaleKupaColumn(column1.getItemsIndexEnd(), 2, xE, spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprava); column.Split = true; string title = "Total"; column = addSpravaFinaleKupaColumn(column.getItemsIndexEnd(), 2, xTot, spravaTotWidth, fmtTot, spravaFormat, title, spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprava); column.Split = true; column.Brush = totalBrush; if (column1.Span) { column1.SpanEndColumn = column; } column = addColumn(column.getItemsIndexEnd(), xTotal, ocenaWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat); column.Brush = totalAllBrush; if (kvalColumn) { column = addColumn(column.getItemsIndexEnd(), xKval, kvalWidth, kvalFormat, kvalTitle); column.DrawHeaderRect = false; column.DrawItemRect = false; } }
private void doCreateColumns(Graphics g, RectangleF contentBounds, float rankWidth, float imeWidth, float klubWidth, float ocenaWidth) { float xRank = contentBounds.X + (columnNumber - 1) * contentBounds.Width / 2; float xIme = xRank + rankWidth; float xKlub = xIme + imeWidth; float xOcena = xKlub + klubWidth; float xRightEnd = xOcena + ocenaWidth; float rightMargin; if (!sveSpraveNaJednojStrani) { rightMargin = contentBounds.Right; } else { rightMargin = contentBounds.Right - (2 - columnNumber) * contentBounds.Width / 2; } // Kada imam dve kolone, razmak izmedju tabela podesavam da bude isti kao i razmak sa leve i desne strane. // TODO3: Sledece izracunavanje delte ne radi dobro kada ima samo jedna kolona (isto i u izvestaju za start // liste i rasporede sudija). float delta; if (columnNumber == 1) { delta = contentBounds.X - (2 / 3.0f) * (contentBounds.X - (xRightEnd - rightMargin)); // moza da bude i negativno if (delta > contentBounds.X) { delta = contentBounds.X; } xRank -= delta; xIme -= delta; xKlub -= delta; xOcena -= delta; xRightEnd -= delta; } else { delta = (1 / 3.0f) * (contentBounds.X - (xRightEnd - rightMargin)); // moza da bude i negativno if (delta < 0) { delta = 0.0f; } xRank += delta; xIme += delta; xKlub += delta; xOcena += delta; xRightEnd += delta; } StringFormat rankFormat = Izvestaj.centerCenterFormat; StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap); imeFormat.Alignment = StringAlignment.Near; imeFormat.LineAlignment = StringAlignment.Center; StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap); klubFormat.Alignment = StringAlignment.Near; klubFormat.LineAlignment = StringAlignment.Center; StringFormat ocenaFormat = Izvestaj.centerCenterFormat; StringFormat rankHeaderFormat = Izvestaj.centerCenterFormat; StringFormat imeHeaderFormat = Izvestaj.centerCenterFormat; StringFormat klubHeaderFormat = Izvestaj.centerCenterFormat; StringFormat ocenaHeaderFormat = Izvestaj.centerCenterFormat; String rankTitle = Opcije.Instance.RedBrojString; String imeTitle = Opcije.Instance.ImeString; String klubTitle = Opcije.Instance.KlubDrzavaString; String ocenaTitle = Opcije.Instance.OcenaString; Columns.Clear(); ReportColumn column1 = addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat); column1.Image = SlikeSprava.getImage(sprava); column1.Split = true; column1.Span = true; ReportColumn column; column = addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat); column.Image = SlikeSprava.getImage(sprava); column.Split = true; column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat); column.Image = SlikeSprava.getImage(sprava); column.Split = true; string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal; column = addColumn(xOcena, ocenaWidth, fmtTot, ocenaFormat, ocenaTitle, ocenaHeaderFormat); column.Image = SlikeSprava.getImage(sprava); column.Split = true; if (column1.Span) { column1.SpanEndColumn = column; } }
protected ReportColumn addColumn(int itemsIndex, float x, float width, StringFormat itemRectFormat, string format) { ReportColumn result = new ReportColumn(itemsIndex, x, width, String.Empty); result.Format = format; result.ItemRectFormat = itemRectFormat; columns.Add(result); result.Lista = this; return result; }
private void createColumns(Graphics g, RectangleF contentBounds) { float gridWidth = getGridTextWidth(this.formGrid, TEST_TEXT); float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width; float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth; float ekipaWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth; float koloWidth = rankWidth / 2; float spravaWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth; float totalWidth = spravaWidth; float kvalWidth = rankWidth / 2; float xRank = contentBounds.X; float xEkipa = xRank + rankWidth; float xKolo = xEkipa + ekipaWidth; float xParter = xKolo + koloWidth; float xKonj = xParter + spravaWidth; float xKarike = xKonj + spravaWidth; float xPreskok = xKarike + spravaWidth; float xRazboj = xPreskok + spravaWidth; float xVratilo = xRazboj + spravaWidth; float xTotal = xVratilo + spravaWidth; if (gimnastika == Gimnastika.ZSG) { xTotal = xRazboj; } float xKval = xTotal + totalWidth; float xRightEnd = xKval; if (kvalColumn) { xRightEnd += kvalWidth; } float dWidth = (xKonj - xParter) / 3; float xParterE = xParter + dWidth; float xParterTot = xParterE + dWidth; float xKonjE = xKonj + dWidth; float xKonjTot = xKonjE + dWidth; float xKarikeE = xKarike + dWidth; float xKarikeTot = xKarikeE + dWidth; float xPreskokE = xPreskok + dWidth; float xPreskokTot = xPreskokE + dWidth; float xRazbojE = xRazboj + dWidth; float xRazbojTot = xRazbojE + dWidth; float xVratiloE = xVratilo + dWidth; float xVratiloTot = xVratiloE + dWidth; float delta = (contentBounds.Right - xRightEnd) / 2; // moza da bude i negativno if (delta < -contentBounds.X) { delta = -contentBounds.X; } xRank += delta; xEkipa += delta; xKolo += delta; xParter += delta; xKonj += delta; xKarike += delta; xPreskok += delta; xRazboj += delta; xVratilo += delta; xTotal += delta; xKval += delta; xRightEnd += delta; xParterE += delta; xKonjE += delta; xKarikeE += delta; xPreskokE += delta; xRazbojE += delta; xVratiloE += delta; xParterTot += delta; xKonjTot += delta; xKarikeTot += delta; xPreskokTot += delta; xRazbojTot += delta; xVratiloTot += delta; float spravaDWidth = dWidth; float spravaEWidth = dWidth; float spravaTotWidth = xKonj - xParter - 2 * dWidth; StringFormat rankFormat = Izvestaj.centerCenterFormat; StringFormat ekipaFormat = new StringFormat(StringFormatFlags.NoWrap); ekipaFormat.Alignment = StringAlignment.Near; ekipaFormat.LineAlignment = StringAlignment.Center; StringFormat koloFormat = new StringFormat(StringFormatFlags.NoWrap); koloFormat.Alignment = StringAlignment.Center; koloFormat.LineAlignment = StringAlignment.Center; StringFormat spravaFormat = Izvestaj.centerCenterFormat; StringFormat totalFormat = Izvestaj.centerCenterFormat; StringFormat kvalFormat = Izvestaj.centerCenterFormat; StringFormat rankHeaderFormat = Izvestaj.centerCenterFormat; StringFormat ekipaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat koloHeaderFormat = Izvestaj.centerCenterFormat; StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat totalHeaderFormat = Izvestaj.centerCenterFormat; String rankTitle = "Rank"; String ekipaTitle = "Ekipa"; String koloTitle = ""; // TODO3: Neka bude uspravno (isto u i ostalim izvestajima sa vise kola). String totalTitle = "Total"; String kvalTitle = String.Empty; Columns.Clear(); addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat); ReportColumn column = addColumn(xEkipa, ekipaWidth, ekipaFormat, ekipaTitle, ekipaHeaderFormat); column = addKoloColumn(column.getItemsIndexEnd(), 2, xKolo, koloWidth, null, koloFormat, koloTitle, koloHeaderFormat); string fmtD = "F" + Opcije.Instance.BrojDecimalaD; string fmtE = "F" + Opcije.Instance.BrojDecimalaE; string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal; Sprava[] sprave = Sprave.getSprave(gimnastika); float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo }; for (int i = 0; i < sprave.Length; i++) { column = addSpravaColumn(column.getItemsIndexEnd(), 2, x[i], spravaWidth, fmtTot, spravaFormat, "", spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprave[i]); } column = addTotalColumn(column.getItemsIndexEnd(), 3, xTotal, totalWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat); column.Brush = totalAllBrush; if (kvalColumn) { column = addColumn(xKval, kvalWidth, kvalFormat, kvalTitle); column.DrawHeaderRect = false; column.DrawItemRect = false; } }
protected ReportColumn addColumn(int itemsIndex, float x, float width, string format, StringFormat itemRectFormat, string headerTitle, StringFormat headerFormat) { ReportColumn result = new ReportColumn(itemsIndex, x, width, headerTitle); result.Format = format; result.ItemRectFormat = itemRectFormat; result.HeaderFormat = headerFormat; columns.Add(result); result.Lista = this; return result; }
protected ReportColumn addColumn(float x, float width, string headerTitle, StringFormat headerFormat) { ReportColumn result = new ReportColumn(columns.Count, x, width, headerTitle); result.HeaderFormat = headerFormat; columns.Add(result); result.Lista = this; return result; }
protected ReportColumn addColumn(float x, float width) { ReportColumn result = new ReportColumn(columns.Count, x, width, String.Empty); columns.Add(result); result.Lista = this; return result; }
private void createColumns(Graphics g, RectangleF contentBounds) { float gridWidth = getGridTextWidth(this.formGrid, TEST_TEXT); float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width; float rankWidthCm = 0.75f; float skokWidthCm = 0.5f; float ocenaWidthCm = 2.0f; if (brojEOcena > 0) { ocenaWidthCm = 1.9f; } float rankWidth = Izvestaj.convCmToInch(rankWidthCm); float imeWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth; float kategorijaWidth; if (this.stampajKategoriju) { kategorijaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth; } else { kategorijaWidth = 0.0F; } float klubWidth; if (this.stampajKlub) { klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth; } else { klubWidth = 0.0F; } float skokWidth = Izvestaj.convCmToInch(skokWidthCm); float ocenaWidth = Izvestaj.convCmToInch(ocenaWidthCm); float xRank = contentBounds.X; float xIme = xRank + Izvestaj.convCmToInch(rankWidthCm); float xKategorija = xIme + imeWidth; float xKlub = xKategorija + kategorijaWidth; float xSkok = 0.0f; float xSprava; if (sprava == Sprava.Preskok) { xSkok = xKlub + klubWidth; xSprava = xSkok + Izvestaj.convCmToInch(skokWidthCm); } else { xSprava = xKlub + klubWidth; } float xTotal = xSprava + ocenaWidth * (4 + brojEOcena); float xRightEnd = xSprava + ocenaWidth * (4 + brojEOcena); if (sprava == Sprava.Preskok) { xRightEnd += ocenaWidth; } float delta = (contentBounds.Right - xRightEnd) / 2; // moza da bude i negativno if (delta < -contentBounds.X) { delta = -contentBounds.X; } xRank += delta; xIme += delta; xKlub += delta; xKategorija += delta; if (sprava == Sprava.Preskok) { xSkok += delta; } xSprava += delta; xTotal += delta; xRightEnd += delta; float[] xEn = new float[6]; for (int i = 0; i < brojEOcena; i++) { if (i == 0) { xEn[i] = xSprava + ocenaWidth; } else { xEn[i] = xEn[i - 1] + ocenaWidth; } } float xE; if (brojEOcena == 0) { xE = xSprava + ocenaWidth; } else { xE = xEn[brojEOcena - 1] + ocenaWidth; } float xPen = xE + ocenaWidth; float xTot = xPen + ocenaWidth; StringFormat rankFormat = Izvestaj.centerCenterFormat; StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap); imeFormat.Alignment = StringAlignment.Near; imeFormat.LineAlignment = StringAlignment.Center; StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap); klubFormat.Alignment = StringAlignment.Near; klubFormat.LineAlignment = StringAlignment.Center; StringFormat kategorijaFormat = new StringFormat(StringFormatFlags.NoWrap); kategorijaFormat.Alignment = StringAlignment.Near; kategorijaFormat.LineAlignment = StringAlignment.Center; StringFormat skokFormat = new StringFormat(StringFormatFlags.NoWrap); skokFormat.Alignment = StringAlignment.Center; skokFormat.LineAlignment = StringAlignment.Center; StringFormat spravaFormat = Izvestaj.centerCenterFormat; StringFormat totalFormat = Izvestaj.centerCenterFormat; StringFormat rankHeaderFormat = Izvestaj.centerCenterFormat; StringFormat imeHeaderFormat = Izvestaj.centerCenterFormat; StringFormat klubHeaderFormat = Izvestaj.centerCenterFormat; StringFormat kategorijaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat skokHeaderFormat = Izvestaj.centerCenterFormat; StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat totalHeaderFormat = Izvestaj.centerCenterFormat; String rankTitle = Opcije.Instance.RedBrojString; String imeTitle = Opcije.Instance.ImeString; String klubTitle = Opcije.Instance.KlubDrzavaString; String kategorijaTitle = Opcije.Instance.KategorijaString; String skokTitle = ""; String totalTitle = Opcije.Instance.TotalString; Columns.Clear(); addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat); addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat); ReportColumn column = addColumn(xKategorija, kategorijaWidth, kategorijaFormat, kategorijaTitle, kategorijaHeaderFormat); column.Visible = stampajKategoriju; column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat); column.Visible = stampajKlub; if (sprava == Sprava.Preskok) { column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xSkok, skokWidth, null, skokFormat, skokTitle, skokHeaderFormat, true); } string fmtD = "F" + Opcije.Instance.BrojDecimalaD; string fmtE = "F" + Opcije.Instance.BrojDecimalaE; string fmtPen = "F" + Opcije.Instance.BrojDecimalaPen; string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal; ReportColumn column1; if (sprava == Sprava.Preskok) { column1 = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xSprava, ocenaWidth, fmtD, spravaFormat, "D", spravaHeaderFormat, true); } else { column1 = addColumn(xSprava, ocenaWidth, fmtD, spravaFormat, "D", spravaHeaderFormat); } column1.Image = SlikeSprava.getImage(sprava); column1.Split = true; column1.Span = true; if (brojEOcena > 0) { for (int i = 0; i < brojEOcena; i++) { if (sprava == Sprava.Preskok) { ReportColumn prevColumn = column; if (i == 0) { prevColumn = column1; } column = addDvaPreskokaColumn(prevColumn.getItemsIndexEnd(), 2, xEn[i], ocenaWidth, fmtE, spravaFormat, "E" + (i + 1).ToString(), spravaHeaderFormat, true); } else { column = addColumn(xEn[i], ocenaWidth, fmtE, spravaFormat, "E" + (i + 1).ToString(), spravaHeaderFormat); } column.Image = SlikeSprava.getImage(sprava); column.Split = true; } } ReportColumn prevColumn2 = column; if (brojEOcena == 0) { prevColumn2 = column1; } if (sprava == Sprava.Preskok) { column = addDvaPreskokaColumn(prevColumn2.getItemsIndexEnd(), 2, xE, ocenaWidth, fmtE, spravaFormat, "E", spravaHeaderFormat, true); } else { column = addColumn(xE, ocenaWidth, fmtE, spravaFormat, "E", spravaHeaderFormat); } column.Image = SlikeSprava.getImage(sprava); column.Split = true; if (sprava == Sprava.Preskok) { column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xPen, ocenaWidth, fmtPen, spravaFormat, "Pen.", spravaHeaderFormat, true); } else { column = addColumn(xPen, ocenaWidth, fmtPen, spravaFormat, "Pen.", spravaHeaderFormat); } column.Image = SlikeSprava.getImage(sprava); column.Split = true; if (sprava == Sprava.Preskok) { column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xTot, ocenaWidth, fmtTot, spravaFormat, Opcije.Instance.TotalString, spravaHeaderFormat, true); } else { column = addColumn(xTot, ocenaWidth, fmtTot, spravaFormat, Opcije.Instance.TotalString, spravaHeaderFormat); } column.Image = SlikeSprava.getImage(sprava); column.Split = true; if (column1.Span) { column1.SpanEndColumn = column; } if (sprava == Sprava.Preskok) { column = addColumn(column.getItemsIndexEnd(), xTotal, ocenaWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat); } }
private void createColumns(Graphics g, RectangleF contentBounds) { float gridWidth = getGridTextWidth(this.formGrid, TEST_TEXT); float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width; // TODO3: Ne bi trebalo pristupati kolonama po fixnom indexu (kao u sledecoj liniji) zato sto je moguce da se // index promeni (ako npr. dodam novu kolonu). Isto i u ostalim izvestajima. // TODO3: Trenutno se velicine svih kolona za ocene podesavaju prema velicini prve kolone (D). Promeni da se // svaka podesava odvojeno. (i u ostalim izvestajima) // skok i kval sam podesio kao polovinu Rank kolone. float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth; float imeWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth; float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth; float skokWidth = rankWidth / 2; float ocenaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth; float kvalWidth = rankWidth / 2; int brojOcena; if (prikaziPenal) { brojOcena = 4; } else { brojOcena = 3; } float xRank = contentBounds.X; float xIme = xRank + rankWidth; float xKlub = xIme + imeWidth; float xSkok = 0.0f; float xSprava; if (obaPreskoka) { xSkok = xKlub + klubWidth; xSprava = xSkok + skokWidth; } else { xSprava = xKlub + klubWidth; } float xTotal = xSprava + (ocenaWidth * brojOcena); float xKval = xTotal + ocenaWidth; if (!obaPreskoka) { xKval = xSprava + (ocenaWidth * brojOcena); } float xRightEnd = xKval; if (kvalColumn) { xRightEnd += kvalWidth; } float delta = (contentBounds.Right - xRightEnd) / 2; // moza da bude i negativno if (delta < -contentBounds.X) { delta = -contentBounds.X; } xRank += delta; xIme += delta; xKlub += delta; if (obaPreskoka) { xSkok += delta; } xSprava += delta; xTotal += delta; xKval += delta; xRightEnd += delta; float xE = xSprava + ocenaWidth; float xPen = xE + ocenaWidth; float xTot; if (prikaziPenal) { xTot = xPen + ocenaWidth; } else { xTot = xPen; } float spravaDWidth = ocenaWidth; float spravaEWidth = ocenaWidth; float spravaTotWidth = ocenaWidth; StringFormat rankFormat = Izvestaj.centerCenterFormat; StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap); imeFormat.Alignment = StringAlignment.Near; imeFormat.LineAlignment = StringAlignment.Center; StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap); klubFormat.Alignment = StringAlignment.Near; klubFormat.LineAlignment = StringAlignment.Center; StringFormat skokFormat = new StringFormat(StringFormatFlags.NoWrap); skokFormat.Alignment = StringAlignment.Center; skokFormat.LineAlignment = StringAlignment.Center; StringFormat spravaFormat = Izvestaj.centerCenterFormat; StringFormat totalFormat = Izvestaj.centerCenterFormat; StringFormat kvalFormat = Izvestaj.centerCenterFormat; StringFormat rankHeaderFormat = Izvestaj.centerCenterFormat; StringFormat imeHeaderFormat = Izvestaj.centerCenterFormat; StringFormat klubHeaderFormat = Izvestaj.centerCenterFormat; StringFormat skokHeaderFormat = Izvestaj.centerCenterFormat; StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat totalHeaderFormat = Izvestaj.centerCenterFormat; String rankTitle = Opcije.Instance.RankString; String imeTitle = Opcije.Instance.ImeString; String klubTitle = Opcije.Instance.KlubDrzavaString; String skokTitle = ""; // TODO3: Neka bude uspravno (isto i u izvestaju za sudijske formulare). String totalTitle = Opcije.Instance.TotalString; String kvalTitle = String.Empty; Columns.Clear(); ReportColumn column = addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat); column.IncludeInMarking = true; column = addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat); column.IncludeInMarking = true; column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat); column.IncludeInMarking = true; if (obaPreskoka) { column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xSkok, skokWidth, null, skokFormat, skokTitle, skokHeaderFormat); } string fmtD = "F" + Opcije.Instance.BrojDecimalaD; string fmtE = "F" + Opcije.Instance.BrojDecimalaE; string fmtPen = "F" + Opcije.Instance.BrojDecimalaPen; string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal; ReportColumn column1; if (obaPreskoka) { column1 = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xSprava, spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat); } else { column1 = addColumn(xSprava, spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat); } column1.Image = SlikeSprava.getImage(sprava); column1.Split = true; column1.Span = true; if (obaPreskoka) { column = addDvaPreskokaColumn(column1.getItemsIndexEnd(), 2, xE, spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat); } else { column = addColumn(xE, spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat); } column.Image = SlikeSprava.getImage(sprava); column.Split = true; if (prikaziPenal) { if (obaPreskoka) { column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xPen, ocenaWidth, fmtPen, spravaFormat, "Pen.", spravaHeaderFormat); } else { column = addColumn(xPen, ocenaWidth, fmtPen, spravaFormat, "Pen.", spravaHeaderFormat); } column.Image = SlikeSprava.getImage(sprava); column.Split = true; } string title = Opcije.Instance.TotalString; if (obaPreskoka) { column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xTot, spravaTotWidth, fmtTot, spravaFormat, title, spravaHeaderFormat); } else { column = addColumn(xTot, spravaTotWidth, fmtTot, spravaFormat, title, spravaHeaderFormat); } column.Image = SlikeSprava.getImage(sprava); column.Split = true; column.Brush = totalBrush; if (column1.Span) { column1.SpanEndColumn = column; } if (obaPreskoka) { column = addColumn(column.getItemsIndexEnd(), xTotal, ocenaWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat); column.Brush = totalAllBrush; } if (kvalColumn) { column = addColumn(column.getItemsIndexEnd(), xKval, kvalWidth, kvalFormat, kvalTitle); column.DrawHeaderRect = false; column.DrawItemRect = false; } }
private void createColumns(Graphics g, RectangleF contentBounds) { float gridWidth = getGridTextWidth(this.formGrid, TEST_TEXT); float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width; float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth; float imeWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth; float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth; float koloWidth = rankWidth / 2; float spravaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth; float totalWidth = spravaWidth; if (extended) { spravaWidth = spravaWidth * 2.3f; } float xRank = contentBounds.X; float xIme = xRank + rankWidth; float xKlub = xIme + imeWidth; float xKolo = xKlub + klubWidth; float xParter = xKolo + koloWidth; float xKonj = xParter + spravaWidth; float xKarike = xKonj + spravaWidth; float xPreskok = xKarike + spravaWidth; float xRazboj = xPreskok + spravaWidth; float xVratilo = xRazboj + spravaWidth; float xTotal = xVratilo + spravaWidth; if (gimnastika == Gimnastika.ZSG) { xTotal = xRazboj; } float xRightEnd = xTotal + totalWidth; float dWidth = (xKonj - xParter) / 3; float xParterE = xParter + dWidth; float xParterTot = xParterE + dWidth; float xKonjE = xKonj + dWidth; float xKonjTot = xKonjE + dWidth; float xKarikeE = xKarike + dWidth; float xKarikeTot = xKarikeE + dWidth; float xPreskokE = xPreskok + dWidth; float xPreskokTot = xPreskokE + dWidth; float xRazbojE = xRazboj + dWidth; float xRazbojTot = xRazbojE + dWidth; float xVratiloE = xVratilo + dWidth; float xVratiloTot = xVratiloE + dWidth; float delta = (contentBounds.Right - xRightEnd) / 2; // moza da bude i negativno if (delta < -contentBounds.X) { delta = -contentBounds.X; } xRank += delta; xIme += delta; xKlub += delta; xKolo += delta; xParter += delta; xKonj += delta; xKarike += delta; xPreskok += delta; xRazboj += delta; xVratilo += delta; xTotal += delta; xRightEnd += delta; xParterE += delta; xKonjE += delta; xKarikeE += delta; xPreskokE += delta; xRazbojE += delta; xVratiloE += delta; xParterTot += delta; xKonjTot += delta; xKarikeTot += delta; xPreskokTot += delta; xRazbojTot += delta; xVratiloTot += delta; float spravaDWidth = dWidth; float spravaEWidth = dWidth; float spravaTotWidth = xKonj - xParter - 2 * dWidth; StringFormat rankFormat = Izvestaj.centerCenterFormat; StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap); imeFormat.Alignment = StringAlignment.Near; imeFormat.LineAlignment = StringAlignment.Center; StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap); klubFormat.Alignment = StringAlignment.Near; klubFormat.LineAlignment = StringAlignment.Center; StringFormat koloFormat = new StringFormat(StringFormatFlags.NoWrap); koloFormat.Alignment = StringAlignment.Center; koloFormat.LineAlignment = StringAlignment.Center; StringFormat spravaFormat = Izvestaj.centerCenterFormat; StringFormat totalFormat = Izvestaj.centerCenterFormat; StringFormat kvalFormat = Izvestaj.centerCenterFormat; StringFormat rankHeaderFormat = Izvestaj.centerCenterFormat; StringFormat imeHeaderFormat = Izvestaj.centerCenterFormat; StringFormat klubHeaderFormat = Izvestaj.centerCenterFormat; StringFormat koloHeaderFormat = Izvestaj.centerCenterFormat; StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat totalHeaderFormat = Izvestaj.centerCenterFormat; String rankTitle = "Rank"; String imeTitle = "Ime"; String klubTitle = "Klub"; String koloTitle = ""; String totalTitle = "Total"; String kvalTitle = String.Empty; Columns.Clear(); addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat); addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat); ReportColumn column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat); column = addKoloColumn(column.getItemsIndexEnd(), 4, xKolo, koloWidth, null, koloFormat, koloTitle, koloHeaderFormat); string fmtD = "F" + Opcije.Instance.BrojDecimalaD; string fmtE = "F" + Opcije.Instance.BrojDecimalaE; string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal; Sprava[] sprave = Sprave.getSprave(gimnastika); if (extended) { float[] x = { xParter, xParterE, xParterTot, xKonj, xKonjE, xKonjTot, xKarike, xKarikeE, xKarikeTot, xPreskok, xPreskokE, xPreskokTot, xRazboj, xRazbojE, xRazbojTot, xVratilo, xVratiloE, xVratiloTot }; for (int i = 0; i < sprave.Length; i++) { ReportColumn column1 = addColumn(x[3 * i], spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat); column1.Image = SlikeSprava.getImage(sprave[i]); column1.Split = true; column1.Span = true; column = addColumn(x[3 * i + 1], spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprave[i]); column.Split = true; column = addColumn(x[3 * i + 2], spravaTotWidth, fmtTot, spravaFormat, "Total", spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprave[i]); column.Split = true; column.Brush = totalBrush; if (column1.Span) { column1.SpanEndColumn = column; } } } else { float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo }; for (int i = 0; i < sprave.Length; i++) { column = addSpravaColumn(column.getItemsIndexEnd(), 4, x[i], spravaWidth, fmtTot, spravaFormat, "", spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprave[i]); } } column = addTotalColumn(column.getItemsIndexEnd(), 5, xTotal, totalWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat); column.Brush = totalAllBrush; }
private void createColumns(Graphics g, RectangleF contentBounds) { float gridWidth = getGridTextWidth(this.formGrid, TEST_TEXT); float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width; float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth; float imeWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth; float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth; float spravaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth; float penaltyWidth = spravaWidth * (2.0f / 3); float totalWidth = spravaWidth; if (extended) { spravaWidth = spravaWidth * 2.3f; } float kvalWidth = rankWidth / 2; float xRank = contentBounds.X; float xIme = xRank + rankWidth; float xKlub = xIme + imeWidth; float xParter = xKlub + klubWidth; float xKonj = xParter + spravaWidth; float xKarike = xKonj + spravaWidth; float xPreskok = xKarike + spravaWidth; float xRazboj = xPreskok + spravaWidth; float xVratilo = xRazboj + spravaWidth; float xTotal = xVratilo + spravaWidth; if (gimnastika == Gimnastika.ZSG) { xTotal = xRazboj; } float xPenalty = xTotal; if (penalty) { xTotal += penaltyWidth; } float xKval = xTotal + totalWidth; float xRightEnd = xKval; if (kvalColumn) { xRightEnd += kvalWidth; } float dWidth = (xKonj - xParter) / 3; float xParterE = xParter + dWidth; float xParterTot = xParterE + dWidth; float xKonjE = xKonj + dWidth; float xKonjTot = xKonjE + dWidth; float xKarikeE = xKarike + dWidth; float xKarikeTot = xKarikeE + dWidth; float xPreskokE = xPreskok + dWidth; float xPreskokTot = xPreskokE + dWidth; float xRazbojE = xRazboj + dWidth; float xRazbojTot = xRazbojE + dWidth; float xVratiloE = xVratilo + dWidth; float xVratiloTot = xVratiloE + dWidth; float delta = (contentBounds.Right - xRightEnd) / 2; // moza da bude i negativno if (delta < -contentBounds.X) { delta = -contentBounds.X; } xRank += delta; xIme += delta; xKlub += delta; xParter += delta; xKonj += delta; xKarike += delta; xPreskok += delta; xRazboj += delta; xVratilo += delta; xPenalty += delta; xTotal += delta; xKval += delta; xRightEnd += delta; xParterE += delta; xKonjE += delta; xKarikeE += delta; xPreskokE += delta; xRazbojE += delta; xVratiloE += delta; xParterTot += delta; xKonjTot += delta; xKarikeTot += delta; xPreskokTot += delta; xRazbojTot += delta; xVratiloTot += delta; float spravaDWidth = dWidth; float spravaEWidth = dWidth; float spravaTotWidth = xKonj - xParter - 2 * dWidth; StringFormat rankFormat = Izvestaj.centerCenterFormat; // TODO3: Ispravi sledece greske gde je umesto Alignment stavljeno ponovljeno LineAlignment. Uradi to i u // ostalim izvestajima. StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap); imeFormat.LineAlignment = StringAlignment.Near; imeFormat.LineAlignment = StringAlignment.Center; StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap); klubFormat.LineAlignment = StringAlignment.Center; klubFormat.LineAlignment = StringAlignment.Center; StringFormat spravaFormat = Izvestaj.centerCenterFormat; StringFormat totalFormat = Izvestaj.centerCenterFormat; StringFormat kvalFormat = Izvestaj.centerCenterFormat; StringFormat rankHeaderFormat = Izvestaj.centerCenterFormat; StringFormat imeHeaderFormat = Izvestaj.centerCenterFormat; StringFormat klubHeaderFormat = Izvestaj.centerCenterFormat; StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat; StringFormat totalHeaderFormat = Izvestaj.centerCenterFormat; String rankTitle = Opcije.Instance.RankString; String imeTitle = Opcije.Instance.ImeString; String klubTitle = Opcije.Instance.KlubDrzavaString; String totalTitle = Opcije.Instance.TotalString; String kvalTitle = String.Empty; Columns.Clear(); addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat); addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat); addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat); string fmtD = "F" + Opcije.Instance.BrojDecimalaD; string fmtE = "F" + Opcije.Instance.BrojDecimalaE; string fmtPen = "F" + Opcije.Instance.BrojDecimalaPen; string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal; Sprava[] sprave = Sprave.getSprave(gimnastika); ReportColumn column; if (extended) { float[] x = { xParter, xParterE, xParterTot, xKonj, xKonjE, xKonjTot, xKarike, xKarikeE, xKarikeTot, xPreskok, xPreskokE, xPreskokTot, xRazboj, xRazbojE, xRazbojTot, xVratilo, xVratiloE, xVratiloTot }; for (int i = 0; i < sprave.Length; i++) { ReportColumn column1 = addColumn(x[3 * i], spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat); column1.Image = SlikeSprava.getImage(sprave[i]); column1.Split = true; column1.Span = true; column = addColumn(x[3 * i + 1], spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprave[i]); column.Split = true; column = addColumn(x[3 * i + 2], spravaTotWidth, fmtTot, spravaFormat, "Total", spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprave[i]); column.Split = true; column.Brush = totalBrush; if (column1.Span) { column1.SpanEndColumn = column; } } } else { float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo }; for (int i = 0; i < sprave.Length; i++) { column = addColumn(x[i], spravaWidth, fmtTot, spravaFormat, "", spravaHeaderFormat); column.Image = SlikeSprava.getImage(sprave[i]); } } column = addColumn(xTotal, totalWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat); column.Brush = totalAllBrush; if (kvalColumn) { column = addColumn(xKval, kvalWidth, kvalFormat, kvalTitle); column.DrawHeaderRect = false; column.DrawItemRect = false; } if (penalty) { column = addColumn(xPenalty, penaltyWidth, fmtPen, totalFormat, "Pen.", totalHeaderFormat); if (!kvalColumn) { // Posto se kvalifikacioni status uvek dodaje u report items, cak i ako ne postoji kolona za // kval. status, moram da azuriram report item index za penalty ako nije dodata kolona za // kvalifikacioni status. column.itemsIndex += 1; } } }