Esempio n. 1
0
        public DPrintItemTableRow AddRow(params string[] values)
        {
            DPrintItemTableRow row = new DPrintItemTableRow();

            foreach (string value in values)
            {
                row.AddCellText(value);
            }
            _Rows.Add(row);
            return(row);
        }
Esempio n. 2
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);
        }