Beispiel #1
0
        /// <summary>МЕТОД Добавляем к полю дочерние элементы, если есть</summary>
        /// <param name="pPole">Дочернее поле</param>
        public override bool MET_AddElement(VirtualPoleOtchet pPole)
        {
            int       _Row;
            int       _Column;
            int       _RowSpan;
            int       _ColumnSpan;
            double    _With;
            TableCell _Cell;

            // Строка
            try { _Row = Convert.ToInt16(pPole.PROP_Format.PROP_Value["gRo"]); }
            catch { _Row = 0; }
            // Колонка
            try { _Column = Convert.ToInt16(pPole.PROP_Format.PROP_Value["gCo"]); }
            catch { _Column = 0; }
            // Ширина колонки
            try { _With = Convert.ToDouble(pPole.PROP_Format.PROP_Value["gw"]); }
            catch { _With = 0; }
            // Создаем ячейку
            TextElement _Element = pPole.MET_Print();

            if (_Element is Block)
            {
                _Cell = new TableCell((Block)_Element);
            }
            else
            {
                _Cell = new TableCell(new Paragraph((Inline)_Element));
            }
            // Скрываем отображение сетки, если нужно - hdt (hide thickness)
            if (PRI_HideThick)
            {
                _Cell.BorderThickness = new Thickness(0);
            }
            _Cell.TextAlignment = TextAlignment.Left;
            if (pPole.PROP_Format.MET_If("ac"))
            {
                _Cell.TextAlignment = TextAlignment.Center;
            }
            if (pPole.PROP_Format.MET_If("ar"))
            {
                _Cell.TextAlignment = TextAlignment.Right;
            }
            // Добавляем ячейку
            PRI_Table.RowGroups[0].Rows[_Row].Cells.Add(_Cell);
            // Объединение по Строкам
            try { _RowSpan = Convert.ToUInt16(pPole.PROP_Format.PROP_Value["gRs"]); }
            catch { _RowSpan = 0; }
            if (_RowSpan > 0)
            {
                _Cell.RowSpan = _RowSpan;
            }
            // Объединение по Колонокам
            try { _ColumnSpan = Convert.ToUInt16(pPole.PROP_Format.PROP_Value["gCs"]); }
            catch { _ColumnSpan = 0; }
            if (_ColumnSpan > 0)
            {
                _Cell.ColumnSpan = _ColumnSpan;
            }
            // Если надо поменять ширину колонки
            if (_With > 0)
            {
                PRI_Table.Columns[_Column].Width = new GridLength(_With, GridUnitType.Star);
            }

            return(true);
        }
Beispiel #2
0
 /// <summary>МЕТОД Добавляем к полю дочерние элементы, если есть (пустой)</summary>
 /// <param name="pPole">Дочернее поле</param>
 public virtual bool MET_AddElement(VirtualPoleOtchet pPole)
 {
     return(true);
 }