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[1].Width * printWidth / gridWidth; float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth; float ocenaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth; if (this.praznaLista) { // Kada je lista prazna, namerno biram male vrednosti da bih sprecio da velicina kolona prazne liste // u Form-u utice na konacnu velicinu kolona. Npr. ako imam dve prazne i dve pune liste, i ako podesim dve // pune liste tako da su kolone manje od kolona prazne liste, konacna velicina kolone ce ipak biti ona u // praznoj listi. Ovim se to sprecava. rankWidth = Izvestaj.convCmToInch(rankWidthCm); imeWidth = Izvestaj.convCmToInch(rankWidthCm * 2); klubWidth = Izvestaj.convCmToInch(rankWidthCm * 2); ocenaWidth = Izvestaj.convCmToInch(rankWidthCm * 2); } doCreateColumns(g, contentBounds, rankWidth, imeWidth, klubWidth, ocenaWidth); }
private void createColumns(Graphics g, RectangleF contentBounds, float imeWidth, float klubWidth, float kategorijaWidth) { float rankWidthCm = 0.7f; float rankWidth = Izvestaj.convCmToInch(rankWidthCm); doCreateColumns(g, contentBounds, rankWidth, imeWidth, klubWidth, kategorijaWidth); }
private void createColumns(Graphics g, RectangleF contentBounds, float imeWidth, float klubWidth) { 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 ocenaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth; doCreateColumns(g, contentBounds, rankWidth, imeWidth, klubWidth, ocenaWidth); }
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; 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; }