示例#1
0
        public override void PrintHeader(DevExpress.XtraPrinting.IBrickGraphics graph)
        {
            if (!View.OptionsPrint.PrintHeader)
            {
                return;
            }
            Point     indent         = new Point(Indent, HeaderY);
            Rectangle r              = Rectangle.Empty;
            bool      usePrintStyles = View.OptionsPrint.UsePrintStyles;

            SetDefaultBrickStyle(graph, Bricks["HeaderPanel"]);
            foreach (PrintColumnInfo col in Columns)
            {
                if (!usePrintStyles)
                {
                    AppearanceObject temp = new AppearanceObject();
                    AppearanceHelper.Combine(temp, new AppearanceObject[] { col.Column.AppearanceHeader, View.Appearance.HeaderPanel, AppearancePrint.HeaderPanel });
                    SetDefaultBrickStyle(graph, Bricks.Create(temp, BorderSide.All, temp.BorderColor, 1));
                }
                r = col.Bounds;
                r.Offset(indent);
                string caption = GetTextCaptionForPrinting(col.Column);
                if (!col.Column.OptionsColumn.ShowCaption)
                {
                    caption = string.Empty;
                }
                ITextBrick itb = DrawTextBrick(graph, caption, r);

                (View as MyGridView).RaiseHeaderPrintEvent(this, new HeaderPrintEventArgs(itb, col));

                if (caption.Contains(Environment.NewLine))
                {
                    itb.Style.StringFormat = BrickStringFormat.Create(itb.Style.TextAlignment, true);
                }
                if (AppearancePrint.HeaderPanel.TextOptions.WordWrap == WordWrap.NoWrap && View.OptionsPrint.UsePrintStyles)
                {
                    using (Graphics g = this.View.GridControl.CreateGraphics())
                    {
                        SizeF s = g.MeasureString(itb.Text, itb.Font, 1000, itb.StringFormat.Value);
                        if (s.Width + 5 >= r.Width)
                        {
                            itb.Text      = "";
                            itb.TextValue = "";
                        }
                    }
                }
            }
        }
示例#2
0
 public override void PrintRows(DevExpress.XtraPrinting.IBrickGraphics graph)
 {
     base.PrintRows(graph);
     (View.GetViewInfo() as MyGridViewInfo).IsDataDirty = true;
 }