コード例 #1
0
        List<TableRow> _Items; // list of TableRow

        #endregion Fields

        #region Constructors

        internal TableRows(ReportDefn r, ReportLink p, XmlNode xNode)
            : base(r, p)
        {
            TableRow t;
            _Items = new List<TableRow>();
            _CanGrow = false;
            // Loop thru all the child nodes
            foreach(XmlNode xNodeLoop in xNode.ChildNodes)
            {
                if (xNodeLoop.NodeType != XmlNodeType.Element)
                    continue;
                switch (xNodeLoop.Name)
                {
                    case "TableRow":
                        t = new TableRow(r, this, xNodeLoop);
                        break;
                    default:
                        t=null;		// don't know what this is
                        // don't know this element - log it
                        OwnerReport.rl.LogError(4, "Unknown TableRows element '" + xNodeLoop.Name + "' ignored.");
                        break;
                }
                if (t != null)
                    _Items.Add(t);
            }
            if (_Items.Count == 0)
                OwnerReport.rl.LogError(8, "For TableRows at least one TableRow is required.");
            else
                _Items.TrimExcess();
        }
コード例 #2
0
ファイル: RenderXml.cs プロジェクト: bittercoder/odd-reports
        string TableGetRowElementName(TableRow tr)
        {
            for (ReportLink rl = tr.Parent; !(rl is Table); rl = rl.Parent)
            {
                if (rl is Header || rl is Footer)
                    return null;

                if (rl is TableGroup)
                {
                    TableGroup tg = rl as TableGroup;
                    Grouping g = tg.Grouping;
                    return g.DataElementName;
                }

                if (rl is Details)
                {
                    Table t = (Table) stkReportItem.Peek();

                    return t.DetailDataElementOutput == DataElementOutputEnum.NoOutput?
                        null: t.DetailDataElementName;
                }
            }

            return null;
        }
コード例 #3
0
ファイル: RenderXml.cs プロジェクト: bittercoder/odd-reports
 public void TableRowStart(TableRow tr, Row row)
 {
     string n = TableGetRowElementName(tr);
     if (n == null)
         return;
     PushContainer(n);
 }
コード例 #4
0
ファイル: RenderXml.cs プロジェクト: bittercoder/odd-reports
 public void TableRowEnd(TableRow tr, Row row)
 {
     string n = TableGetRowElementName(tr);
     if (n == null)
         return;
     this.PopContainer(n);
 }
コード例 #5
0
 public void TableRowStart(TableRow tr, Row row)
 {
     _ExcelRow++;
     _Excel.SetRowHeight(_ExcelRow, tr.HeightOfRow(r, this.GetGraphics, row));
     _ExcelCol = -1;
 }
コード例 #6
0
ファイル: TableRow.cs プロジェクト: bittercoder/odd-reports
            internal float CalcHeight; // dynamic when CanGrow true

            #endregion Fields

            #region Constructors

            internal WorkClass(TableRow tr)
            {
                CalcHeight = tr.Height.Points;
            }
コード例 #7
0
ファイル: RenderRtf.cs プロジェクト: bittercoder/odd-reports
        public void TableRowStart(TableRow tr, Row row)
        {
            Table t = null;
            Header head = null;
            for (ReportLink rl = tr.Parent.Parent; rl != null; rl = rl.Parent)
            {
                if (rl is Table)
                {
                    t = rl as Table;
                    break;
                }
                else if (rl is Header)
                    head = rl as Header;
            }
            if (t == null)
                return;

            tw.Write(@"\trowd \trql\trgaph108\trrh0\trleft236");
            if (head != null && head.RepeatOnNewPage)       // repeat table header on multiple pages
                tw.Write(@"\trhdr");

            int pos=0;

            int ci=0;
            foreach (TableColumn tc in t.TableColumns)
            {
                pos += tc.Width.Twips;
                string border=@"\clbrdrt\brdrth\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs";
                if (ci < tr.TableCells.Items.Count)
                {
                    ReportItem ri = tr.TableCells.Items[ci].ReportItems[0];
                    if (ri.Style != null)
                    {
                        StyleInfo si = ri.Style.GetStyleInfo(r, row);
                        border = string.Format(@"\clbrdrt\{0}\clbrdrl\{1}\clbrdrb\{2}\clbrdrr\{3}",
                            GetBorderStyle(si.BStyleTop),
                            GetBorderStyle(si.BStyleLeft),
                            GetBorderStyle(si.BStyleBottom),
                            GetBorderStyle(si.BStyleRight));

                    }
                }
                tw.Write(@"{1}\cellx{0}", pos, border);
            }
            tw.Write(@"\pard \intbl");
        }
 public override void TableRowStart(TableRow tr, Row row)
 {
     base.TableRowStart(tr, row);
     _currentWorkSheet.NextRow();
     _currentWorkSheet.StartCol();
     _writer.WriteStartElement(new DocumentFormat.OpenXml.Spreadsheet.Row());
 }
コード例 #9
0
ファイル: RenderHtml.cs プロジェクト: mnisl/OD
		public void TableRowEnd(TableRow tr, Row row)
		{
			tw.WriteLine("</tr>");
		}
コード例 #10
0
ファイル: RenderHtml.cs プロジェクト: mnisl/OD
		public void TableRowStart(TableRow tr, Row row)
		{
			tw.Write("\t<tr");
			ReportLink rl = tr.Parent.Parent;
			Visibility v=null;
			Textbox togText=null;		// holds the toggle text box if any
			if (rl is Details)
			{
				Details d = (Details) rl;
				v = d.Visibility;
				togText = d.ToggleTextbox;
			}
			else if (rl.Parent is TableGroup)
			{
				TableGroup tg = (TableGroup) rl.Parent;
				v = tg.Visibility;
				togText = tg.ToggleTextbox;
			}

			if (v != null &&
				v.Hidden != null)
			{
				bool bHide = v.Hidden.EvaluateBoolean(this.r, row);
				if (bHide)
					tw.Write(" style=\"display:none;\"");
			}

			if (togText != null && togText.Name != null)
			{
				string name = togText.Name.Nm + "_" + togText.RunCount(this.r).ToString();
				tw.Write(" id='{0}'", name);
			}

			tw.Write(">");
		}
コード例 #11
0
ファイル: RenderCsv.cs プロジェクト: bittercoder/odd-reports
 public void TableRowEnd(TableRow tr, Row r)
 {
     tw.WriteLine();
 }
コード例 #12
0
 public virtual void TableRowStart(TableRow tr, Row row)
 {
 }
コード例 #13
0
 public virtual void TableRowEnd(TableRow tr, Row row)
 {
 }
コード例 #14
0
ファイル: RenderPdf.cs プロジェクト: net-haus/My-FyiReporting
 public void TableRowEnd(TableRow tr, Row row)
 {
 }
コード例 #15
0
ファイル: RenderRtf.cs プロジェクト: bittercoder/odd-reports
 public void TableRowEnd(TableRow tr, Row row)
 {
     tw.WriteLine(@"\row");
 }
コード例 #16
0
ファイル: RenderPdf.cs プロジェクト: net-haus/My-FyiReporting
 public void TableRowStart(TableRow tr, Row row)
 {
 }
コード例 #17
0
 public override void TableRowEnd(TableRow tr, Row row)
 {
     base.TableRowEnd(tr, row);
     _writer.WriteEndElement();
 }