DevExpress报告 - 如何扩展乐队以适应内容?

时间:2016-03-23 12:32:16

标签: c# visual-studio devexpress

我有一个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,而不是其展开的高度。

1 个答案:

答案 0 :(得分:0)

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

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

基本上测量文本字符串并像这样计算高度。似乎没有办法获得标签的“真实”高度。