先抛出问题,如下图所示,万能报表交叉分析表格行标题物料名称那一列在文本比较多的情况下是显示不全的,如何做到文本内容自动换行并且自适应行高呢?
文本字段换行及自适行高设置步骤:
1.将行标题字段外观属性中字段值的“Word Wrap”属性设置为true
2.交叉分析表格CustomRowHeight属性设置如下脚本
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.保存报表,再次预览,可以看到行标题物料名称那一列在文本比较多的情况下已经自动换行并且自动调整了行高。
推荐阅读