public override void DataGridPaintRowHeaderArrow (Graphics g, Rectangle bounds, DataGrid grid)
{
Point[] arrow = new Point[3];
Point P1, P2, P3;
int centerX, centerY, shiftX;
Rectangle rect;
rect = new Rectangle (bounds.X + bounds.Width /4,
bounds.Y + bounds.Height/4, bounds.Width / 2, bounds.Height / 2);
centerX = rect.Left + rect.Width / 2;
centerY = rect.Top + rect.Height / 2;
shiftX = Math.Max (1, rect.Width / 8);
rect.X -= shiftX;
centerX -= shiftX;
P1 = new Point (centerX, rect.Top - 1);
P2 = new Point (centerX, rect.Bottom);
P3 = new Point (rect.Right, centerY);
arrow[0] = P1;
arrow[1] = P2;
arrow[2] = P3;
g.FillPolygon (ResPool.GetSolidBrush
(grid.CurrentTableStyle.CurrentHeaderForeColor), arrow, FillMode.Winding);
}