c# - 如何格式化 XRPivotGrid header ?

标签 c# .net reporting devexpress xtrareport

这是一个 DevExpress 报告/XtraReports 问题。我正在使用 DevExpress 2011 Vol 1 for Win Forms。

我正在尝试格式化 XRPivotGrid 以去除所有边框并更改单元格的背景颜色。

目前我正在按如下方式处理控件的打印事件:

private void xrPivotGrid1_PrintHeader(object sender, CustomExportHeaderEventArgs e)
{
    e.Appearance.BackColor = Color.LightBlue;
    e.Brick.Sides = BorderSide.None;
}

private void xrPivotGrid1_PrintFieldValue(object sender, CustomExportFieldValueEventArgs e)
{
    e.Appearance.BackColor = Color.ForestGreen;
    e.Brick.Sides = BorderSide.None;
}

private void xrPivotGrid1_PrintCell(object sender, CustomExportCellEventArgs e)
{
    e.Appearance.BackColor = Color.PaleVioletRed;
    e.Brick.Sides = BorderSide.None;
}

但这还不够。正如您从该图像中看到的那样,未到达具有灰色背景色的标题单元格(即,这些事件在为打印而绘制时不会触发)。

enter image description here

有人知道正确的做法吗?我又想去掉边框并更改那些灰色 block 的 BackColor:s。

谢谢

最佳答案

这是一个错误,我们已在 http://www.devexpress.com/Support/Center/p/B187407.aspx 为您打开了一个错误报告如果您跟踪此问题,您将在修复可用时收到通知。

现在您可能需要考虑以下解决方法:

e.Appearance.BackColor = Color.ForestGreen;
e.Brick.Sides = BorderSide.None;

if(e.Brick is PanelBrick) {
    PanelBrick brick = e.Brick as PanelBrick;
    if(brick.Bricks.Count > 0 && brick.Bricks[0] as IVisualBrick != null) {
        ((IVisualBrick)brick.Bricks[0]).Sides = BorderSide.None;
        ((IVisualBrick)brick.Bricks[0]).BackColor = Color.ForestGreen;
    }
}

如果您将来向 DevExpress 支持中心提交此类问题,您将得到更快的答复。

谢谢,

-- 伍迪

关于c# - 如何格式化 XRPivotGrid header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6509256/

相关文章:

linux - 随着时间的推移存储使用报告的最佳方式是什么?

android - 编写自定义 lint.xml

resources - JIRA - 资源可用性和利用率跟踪 - 跨多个项目

c# - 如何将 Expression.Lambda 附加到任何所有者类型?

c# - 在 Azure 中使用 Identity Server 签名证书

.net - 使用 x509 证书的 rsacryptoserviceprovider c#

c# - C# 中使用 TimSort 索引数组

c# - 尝试使用正则表达式获取 URL 的最后一部分

c# - ServiceStack 是否需要 ResponseStatus?

c# - 如何与另一个类的 Form 控件进行通信?