万能报表交叉分析表格自适应行标题的行高原创
金蝶云社区-王文亮
王文亮
0人赞赏了该文章 989次浏览 未经作者许可,禁止转载编辑于2021年06月28日 17:52:57

先抛出问题,如下图所示,万能报表交叉分析表格行标题物料名称那一列在文本比较多的情况下是显示不全的,如何做到文本内容自动换行并且自适应行高呢?

image.png

文本字段换行及自适行高设置步骤:

1.将行标题字段外观属性中字段值的“Word Wrap”属性设置为true

image.png

2.交叉分析表格CustomRowHeight属性设置如下脚本

image.png

private Graphics gr = Graphics.FromHwnd(IntPtr.Zero);

private void pivotGrid1_CustomRowHeight(object sender, DevExpress.XtraReports.UI.PivotGrid.PivotCustomRowHeightEventArgs e) {

 e.RowHeight = 20;

 var grid=sender as DevExpress.XtraReports.UI.XRPivotGrid;

 var list=e.Data.GetFieldsByArea(DevExpress.XtraPivotGrid.PivotArea.RowArea, false);

  foreach (var item in list)

  {

   var obj=grid.GetFieldValue(item, e.RowIndex);

   if (obj == null)

    continue;

   var font = (item as DevExpress.XtraReports.UI.PivotGrid.XRPivotGridField).Appearance.Cell.Font;

   SizeF size = gr.MeasureString(obj.ToString(), font, item.Width);

   int height = Convert.ToInt32(Math.Ceiling(size.Height));

   e.RowHeight = e.RowHeight > height ? e.RowHeight : height;

 }

}


3.保存报表,再次预览,可以看到行标题物料名称那一列在文本比较多的情况下已经自动换行并且自动调整了行高。

image.png

赞 0