Пример #1
0
        public void AddCell(DPrintItem item)
        {
            DPrintItemTableCell cell = new DPrintItemTableCell();

            cell.Item = item;
            _Cells.Add(cell);
        }
Пример #2
0
        public void AddCellText(string text, Font printFont = null)
        {
            DPrintItemText item = new DPrintItemText();

            item.Text      = text;
            item.PrintFont = printFont;

            DPrintItemTableCell cell = new DPrintItemTableCell();

            cell.Item = item;
            _Cells.Add(cell);
        }
Пример #3
0
        /// <summary>
        /// Принтиране на ред от таблица
        /// </summary>
        private float PrintItemTableRow(PrintPageEventArgs e, float startY, PointF[] cols
                                        , DPrintItemTableRow item, DPrintItemTable table)
        {
            float maxCellY = startY;

            // Принтира данните на клетката
            for (int colIndex = 0; colIndex < cols.Length; colIndex++)
            {
                // Позиция на колоната
                PointF col = cols[colIndex];
                // Принтира елемента
                if (colIndex < item.Cells.Count)
                {
                    DPrintItemTableCell cell            = item.Cells[colIndex];
                    DPrintAlignment     columnAlignment = DPrintAlignment.None;
                    if (table.Columns.Count > colIndex)
                    {
                        DPrintItemTableColumn column = table.Columns[colIndex];
                        columnAlignment = column.Alignment;
                    }
                    float cellY = PrintItem(e, startY, col.X, col.Y, cell.Item
                                            , table.CellFont, columnAlignment);
                    // Максималната височина на клетката
                    if (cellY > maxCellY)
                    {
                        maxCellY = cellY;
                    }
                }
            }
            // Слага рамка на клетките
            if (table.CellBorder == DPrintBorderType.Solid)
            {
                for (int colIndex = 0; colIndex < cols.Length; colIndex++)
                {
                    // Позиция на колоната
                    PointF col = cols[colIndex];
                    PrintItemBorder(e.Graphics, col.X, startY, col.Y, maxCellY);
                }
            }
            return(maxCellY);
        }