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