개발(IT)/DevExpress(WinForm)

[GridView] CustomDrawRowFooterCell 이벤트를 사용해 행 바닥글 셀 커스텀 그리기

isony 2023. 9. 2. 11:17
반응형
using DevExpress.XtraGrid.Views.Grid;

...

private GridView gridView;

...

private ImageList imageList;

...

this.gridView.CustomDrawRowFooterCell += gridView_CustomDrawRowFooterCell;

...

private void gridView_CustomDrawRowFooterCell(object sender, FooterCellCustomDrawEventArgs e)
{
    Brush     brush     = Brushes.AliceBlue;
    Rectangle rectangle = e.Bounds;

    ControlPaint.DrawBorder3D(e.Graphics, rectangle, Border3DStyle.SunkenOuter);

    rectangle.Inflate(-1, -1);

    e.Graphics.FillRectangle(brush, rectangle);
			
    rectangle.Inflate(-2, 0);

    e.Appearance.DrawString(e.Cache, e.Info.DisplayText, rectangle);
			
    if(e.Column.AbsoluteIndex == 0)
    {
        int x = rectangle.X + 2;
        int y = rectangle.Y + (rectangle.Height - this.imageList.ImageSize.Height) / 2;

        e.Graphics.DrawImageUnscaled(this.imageList.Images[2], x, y);
    }

    e.Handled = true;
}
반응형