This repository has been archived by the owner on Sep 11, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
GridViewFooterOnTop.cs
42 lines (36 loc) · 1.71 KB
/
GridViewFooterOnTop.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using DevExpress.Utils.Serializing;
using DevExpress.XtraGrid.Views.Grid;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
namespace GridViewFooter
{
class GridViewFooterOnTop : GridView
{
public GridViewFooterOnTop() : this(null) { }
public GridViewFooterOnTop(DevExpress.XtraGrid.GridControl grid) : base(grid) { }
private void UpdateVScrollHeight()
{
if(OptionsView.ShowFooter && OptionsView.FooterLocation == FooterPosition.Top)
{
Rectangle r = ScrollInfo.VScrollSuggestedBounds;
r.Height = ViewInfo.ViewRects.Client.Height - ViewInfo.HScrollPresenceCorrection();
ScrollInfo.VScrollSuggestedBounds = r;
}
}
protected override DevExpress.XtraGrid.Views.Base.ColumnViewOptionsView CreateOptionsView()
{ return new GridFooterOnTopOptionsView(); }
protected override void UpdateScrollBars()
{
base.UpdateScrollBars();
UpdateVScrollHeight();
}
protected override string ViewName { get { return "GridViewFooterOnTop"; } }
[Description("Provides access to the View's display options."), Category("Options"), DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
XtraSerializableProperty(XtraSerializationVisibility.Content, XtraSerializationFlags.DefaultValue),
XtraSerializablePropertyId(LayoutIdOptionsView)]
public new GridFooterOnTopOptionsView OptionsView { get { return base.OptionsView as GridFooterOnTopOptionsView; } }
public new GridViewInfoFooterOnTop ViewInfo { get { return base.ViewInfo as GridViewInfoFooterOnTop; } }
}
}