Exemplo n.º 1
0
        private void pivotGridControl1_CustomDrawFieldValue(object sender, PivotCustomDrawFieldValueEventArgs e)
        {
            PivotFieldValueItem valueItem = GetItem(e);
            PivotSortOrder?     sortOrder = GetSummarySortOrder(valueItem);

            if (sortOrder == null)
            {
                return; // proceed to standard drawing
            }
            PivotGridViewInfoData data = ((IPivotGridViewInfoDataOwner)pivotGridControl1).DataViewInfo;

            e.Info.InnerElements.Clear();
            data.ActiveLookAndFeel.Painter.Header.DrawObject(e.Info);
            SortedShapeObjectInfoArgs sortInfo = new SortedShapeObjectInfoArgs();

            sortInfo.Ascending = sortOrder == PivotSortOrder.Ascending;
            sortInfo.Graphics  = e.Graphics;
            Rectangle sortBounds = data.ActiveLookAndFeel.Painter.SortedShape.CalcObjectMinBounds(sortInfo);

            sortBounds.X    = e.Info.CaptionRect.Right + 2;
            sortBounds.Y    = e.Info.CaptionRect.Y + (int)Math.Round((double)(e.Info.CaptionRect.Height - sortBounds.Height) / 2);
            sortInfo.Bounds = sortBounds;
            data.ActiveLookAndFeel.Painter.SortedShape.DrawObject(sortInfo);
            e.Handled = true;
        }
        void OnCustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e)
        {
            if (!ShowSortIndexInColumnHeader || e.Column == null || e.Column.SortIndex == -1)
            {
                return;
            }
            GridColumnInfoArgs args = e.Info as GridColumnInfoArgs;

            e.Painter.DrawObject(args);
            SortedShapeObjectInfoArgs sortArgs = (SortedShapeObjectInfoArgs)args.InnerElements.Find(typeof(SortedShapeObjectInfoArgs)).ElementInfo;
            Rectangle sortRectangle            = sortArgs.Bounds;
            Rectangle sortIndexRectangle       = new Rectangle(sortRectangle.X - 8, args.CaptionRect.Y,
                                                               10, args.CaptionRect.Height);
            SolidBrush brush = e.Appearance.GetBackBrush(e.Cache) as SolidBrush;

            brush.Color = Color.FromArgb(150, brush.Color);
            Rectangle sortIndexShapeRectangle = new Rectangle(sortIndexRectangle.X - 2, sortIndexRectangle.Y,
                                                              sortIndexRectangle.Width + sortRectangle.Width, sortIndexRectangle.Height);

            e.Cache.FillRectangle(brush, sortIndexShapeRectangle);
            e.Appearance.DrawString(e.Cache, e.Column.SortIndex.ToString(), sortIndexRectangle);
            e.Handled = true;
        }
Exemplo n.º 3
0
        protected override void RaiseCustomDrawColumnHeader(EventArgs e)
        {
            var args = e as ColumnHeaderCustomDrawEventArgs;
            if (args == null || args.Column == null) return;

            var gr = args.Column.Tag as GroupInfo;
            if (gr != null && gr.Name == args.Column.Name)
            {
                var shape = new SortedShapeObjectInfoArgs();
                shape.Assign(args.Info);
                shape.Ascending = gr.Expanded;

                var r = shape.Bounds;
                r.X += 100;
                r.Width -= 100;

                shape.Bounds = r;

                args.Appearance.Font = new Font(args.Appearance.Font, FontStyle.Bold);

                args.Info.InnerElements.Add(Painter.ElementsPainter.SortedShape, shape);
            }
        }