public void AppendFrom(Report report, SemiRowsContainer semirowscontainer, ShowStyle showstyle) { SemiRows semirows = semirowscontainer.GetABlock(); showstyle = HandleNoGroupHeader(report, showstyle); AppendSemiRows(report, semirows, showstyle, null); }
public void AppendFromWait(Report report, SemiRowsContainer semirowscontainer, ShowStyle showstyle, System.Drawing.Graphics g) { SemiRows semirows = semirowscontainer.GetABlockWait(); showstyle = HandleNoGroupHeader(report, showstyle); AppendSemiRows(report, semirows, showstyle, g); //report.FreeViewStyle == FreeViewStyle.MergeCell ?ShowStyle.NoGroupHeader :ShowStyle.Normal }
public void AppendFrom(Report report, SemiRowsContainer semirowscontainer) { ShowStyle ss = HandleNoGroupHeader(report, ShowStyle.NoGroupHeader); SemiRows semirows = semirowscontainer.GetABlock(); AppendSemiRows(report, semirows, ss, null); }
private void OnSemiRowsComing(SemiRows srs) { if (SemiRowsComing != null) { SemiRowsComing(srs); } }
public override void BuildRows() { SemiRows semirows = _semirowscontainer.GetABlock(); HandleSummaryRow(semirows); if (_currenttable != null) { FillDataTable(semirows); } if ((_currentmetrix as Cell).Visible) { if ((_currentmetrix as Cell).Tag == null) { (_currentmetrix as Cell).Tag = new SemiRowsContainerPerhaps4Matrix(100);//(_currentmetrix as IIndicatorMetrix).PageSize } ((SemiRowsContainer)(_currentmetrix as Cell).Tag).AddSemiRows(semirows); if (_rowsheight == Int32.MaxValue) { return; } _rows.AppendFrom(_currentreport, semirows); _rowsheight = RowsHeight; if (_rowsheight >= (_currentmetrix as Cell).Height) { _rowsheight = Int32.MaxValue; } } }
protected virtual void _semirowscontainer_SemiRowsComing(SemiRows semirows) { _semirowscontainer.AddSemiRows(semirows); if (RowsComing != null) { InvokeEvent(RowsComing, new object[] { null, null }); } }
private void FillDataTable(SemiRows semirows) { foreach (SemiRow semirow in semirows) { if (semirow.Level == 0) { continue; } DataRow dr = _currenttable.NewRow(); _currenttable.Rows.Add(dr); string groupkey = null; foreach (string key in _captiontoname.Keys) { object o = _captiontoname[key]; if (o != null) { if (o is string) { string v = semirow[o.ToString()].ToString(); if (v == "") { dr[key] = DBNull.Value; } else { dr[key] = v; } } else if (o is SimpleArrayList) { SimpleArrayList sal = o as SimpleArrayList; StringBuilder sb = new StringBuilder(); foreach (string s in sal) { if (sb.Length > 0) { sb.Append(" "); } sb.Append(semirow[s].ToString()); } groupkey = sb.ToString(); dr[key] = groupkey; } } } if (_cellnametocolumnname != null) { DrillData dd = new DrillData(_viewid, ((Cell)_currentmetrix).Name); foreach (string key in _cellnametocolumnname.Keys) { dd.Add(_cellnametocolumnname[key].ToString(), semirow[key]); } _chartdrilldata.Add(groupkey, dd); } } }
public virtual void AddSemiRows(SemiRows semirows) { lock ((_semirows as ICollection).SyncRoot) { _semirows.Enqueue(semirows); } //Thread.Sleep(100); _newobjectsemaphone.Release(); }
public override void Canceled() { base.Canceled(); if (_semirows4matrix != null) { _semirows4matrix.Clear(); _semirows4matrix = null; } }
protected void HandleSummaryRow(SemiRows semirows) { if (!_currentreport.bShowSummary && semirows.Count > 0) { int summaryindex = semirows.Count - 1; if (semirows[summaryindex].SectionType == SectionType.ReportSummary) { semirows.RemoveAt(summaryindex); } } }
public virtual SemiRows GetABlock() { SemiRows semirows = null; if (_newobjectsemaphone.WaitOne(0, false)) { lock ((_semirows as ICollection).SyncRoot) { semirows = _semirows.Dequeue(); } } return(semirows); }
public virtual SemiRows GetABlockWait() { SemiRows semirows = null; int r = WaitHandle.WaitAny(_getobjectwaithandles); System.Diagnostics.Trace.WriteLine("GetABlockWait........." + r.ToString()); if (r == 0) { lock ((_semirows as ICollection).SyncRoot) { semirows = _semirows.Dequeue(); } } return(semirows); }
public override void AddSemiRows(SemiRows semirows) { if (!_really4matrix) { base.AddSemiRows(semirows); return; } if (semirows == null) { return; } foreach (SemiRow sr in semirows) { _semirows4matrix.Add(sr); } }
public void AddSemiRows(SemiRows semirows) { lock ((_semirows as ICollection).SyncRoot) { _semirows.Enqueue(semirows); } if (i > 1000) { Thread.Sleep(time); } while (_semirows.Count > 10) { System.Diagnostics.Trace.WriteLine("警告:semirows中已有semirow数量为" + _semirows.Count); Thread.Sleep(time); } i++; _newobjectsemaphore.Release(); }
public override SemiRows GetABlock() { if (!_really4matrix) { return(base.GetABlock()); } if (_pageindex == -1) { return(_semirows4matrix); } int beginindex = _pageindex * _pagesize; SemiRows srs = new SemiRows(); int endindex = Math.Min(_semirows4matrix.Count, beginindex + _pagesize); for (int i = beginindex; i < endindex; i++) { srs.Add(_semirows4matrix[i]); } return(srs); }
public SemiRowsContainerPerhaps4Matrix(ReportEngine engine) : base(engine) { _semirows4matrix = new SemiRows(); }
protected SemiRowsContainerPerhaps4Matrix() { _semirows4matrix = new SemiRows(); }
protected override void _semirowscontainer_SemiRowsComing(SemiRows semirows) { _semirowscontainer.AddSemiRows(semirows); _detailbuilder.BuildRows(); }
private void AppendSemiRows(Report report, SemiRows semirows, ShowStyle showstyle, System.Drawing.Graphics g) { if (semirows != null) { Sections sections = report.Sections; Detail detail = sections[SectionType.Detail] as Detail; int grouplevels = report.GroupLevels; foreach (SemiRow semirow in semirows) { Section section = null; Section section1 = null; switch (semirow.SectionType) { case SectionType.GroupHeader: section = sections.GetGroupHeader(semirow.Level); if ((!report.bShowDetail || detail.Cells.Count == 0) && semirow.Level == grouplevels) //detail.Cells.Count == 0 { ApplyDetailStyle(section, _minordetailcount, detail, (detail as IAlternativeStyle).bApplyAlternative); _minordetailcount++; } else { _minordetailcount = 0; //if (showstyle == ShowStyle.NoGroupHeader) // ApplyDetailStyle(section, 0, detail, false); } break; case SectionType.GroupSummary: section = sections.GetGroupSummary(semirow.Level); if ((!report.bShowDetail || detail.Cells.Count == 0) && semirow.Level == grouplevels) { _minordetailcount++; ApplyDetailStyle(section, _minordetailcount, detail, (detail as IAlternativeStyle).bApplyAlternative); _minordetailcount++; } else { _minordetailcount = 0; //if (showstyle == ShowStyle.NoGroupHeader) // ApplyDetailStyleToGroupLabel(section, detail); } break; case SectionType.ReportSummary: section = sections[SectionType.ReportSummary]; break; default: if (report.bShowDetail) { section = detail; (section as IAlternativeStyle).bApplySecondStyle = (_minordetailcount % 2 == 1); } else { section = sections.GetGroupHeader(semirow.Level); ApplyDetailStyle(section, _minordetailcount, detail, (detail as IAlternativeStyle).bApplyAlternative); section1 = sections.GetGroupSummary(semirow.Level); ApplyDetailStyle(section1, _minordetailcount, detail, (detail as IAlternativeStyle).bApplyAlternative); } _minordetailcount++; break; } AppendFrom(section, semirow, showstyle, report.BaseID, g); AppendFrom(section1, semirow, showstyle, report.BaseID, g); } } }
public void AppendFrom(Report report, SemiRows semirows) { ShowStyle ss = HandleNoGroupHeader(report, ShowStyle.NoGroupHeader); AppendSemiRows(report, semirows, ss, null); }