需要实现中文样式的复杂表头,如带斜线等。
解决方法:
1、使用XtraGrid中的BandedGridView视图,并在Designer界面中,添加分组表头,进行布局处理。
2、在CustomDrawBandHeader 事件中加入如下代码:
1
if (e.Band.Caption == "")
2
{
3
e.Handled = true;
4
e.Painter.DrawObject(e.Info);
5![](/Images/OutliningIndicators/InBlock.gif)
6
Rectangle r = e.Bounds;
7
Pen pen = Pens.Gray;
8
e.Graphics.DrawLine(pen,new Point(r.X,r.Y),new Point(r.X+r.Width--,r.Y+r.Height-2));
9![](/Images/OutliningIndicators/InBlock.gif)
10
pen = Pens.Black;
11
Font font = new Font("宋体",12,FontStyle.Bold);
12
Brush brush = Brushes.Black;
13
e.Graphics.DrawString("项目",font,brush,new PointF(r.X+110,r.Y+10));
14
e.Graphics.DrawString("航班", font, brush, new PointF(r.X + 25, r.Y + 20));
15
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
最终实现效果: