【问题标题】:DevExpress Report - How to have a band expand to fit contents?DevExpress 报告 - 如何让乐队扩展以适应内容?
【发布时间】:2016-03-23 12:32:16
【问题描述】:

我有一份 DevExpress 报告,其中包含一个 XRLabel。有时标签的内容会出现多行,因此我将Multiline 属性设置为true 以及CanGrow 属性。

但是,我还需要它包含的 Band 来扩展它,以便为额外的线条留出空间。这是一个 TopMargin 乐队。 (没有CanGrow 属性)

我已经尝试创建一个脚本来实现这一点,但它似乎没有做任何事情:

private void TopMargin_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
    TopMargin.Height = 100 + uxLblMarginTopLeft.Height;
}

另外,在调试时,我看到uxLblMarginTopLeft.Height 似乎只给出了它最初在 Visual Studio 属性管理器中设置的值,而不是由于多行而扩展后的高度。

通常标签绑定到一个值,但如果我在脚本中将值设置为一个长字符串,我也会遇到同样的问题。

编辑

我设法通过将高度放在报告本身的 BeforePrint 事件中而不是 Band 的事件中(如上所述)并使用以下代码以编程方式更改高度:

private void TBaseReport_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
    XtraReport report = (XtraReport) sender;
    report.Bands[BandKind.TopMargin].Height = 200;
    Console.WriteLine("Label Height is : |" + uxLblMarginTopLeft.Height + "|");
}

但是,标签的高度保持为 19,而不是其展开高度。

【问题讨论】:

    标签: c# visual-studio devexpress


    【解决方案1】:

    嗯,我也在 DevExpress 网站上问了一个类似的问题,得到了这个答案:

    https://www.devexpress.com/Support/Center/Question/Details/T359777

    基本上测量文本字符串并计算高度。似乎无法获得标签的“真实”高度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      • 2019-06-11
      相关资源
      最近更新 更多