/// <summary> /// 切换页面时在新页重复表头 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnPageBegin(object sender, RptPage e) { if (_header != null && (_item as RptTable).RepeatHeader) { int index = _data.Current; RptTblHeaderInst inst = _header.Clone() as RptTblHeaderInst; RptRegion region = new RptRegion( e.Rows.Start, _region.Col, inst.Item.RowSpan, inst.Item.ColSpan); inst.Region = region; double height = _item.Part.GetRowHeight(region.Row + region.RowSpan - e.Rows.Start); if (e.Rows.Size.Count > 0 && height != e.Rows.Size[0]) { e.Rows.Size[0] = height; } inst.Output(); _data.Current = index; // 顺次下移 if (_curPart != null) { _curPart.Region.Row = region.Row + region.RowSpan; } } }