zoukankan      html  css  js  c++  java
  • XtraReport交叉表自适应行高及最佳列宽

    1.自适应行头的行高,绑定CustomRowHeight事件,代码如下:

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

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

    e.RowHeight = 20;

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

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

    foreach (var item in list)

    {

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

            if (obj == null)

            continue;

            var font = (item as HuanSi.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;

    }

    }

    效果图如下:

    clip_image001

    2.自适应数据的行高,同样绑定CustomRowHeight事件,代码如下:

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

    private void xrPivotGrid1_CustomRowHeight_1(object sender, PivotCustomRowHeightEventArgs e) {

    e.RowHeight = 0;

    for (int i = 0; i <= e.ColumnCount - 1; i++) {

    string value = e.GetRowCellValue(i).ToString();

    SizeF size = gr.MeasureString(value, e.DataField.Appearance.Cell.Font, e.DataField.Width);

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

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

    }

    }

    盗用网上一张效果图:

    clip_image002

    3.自适应列宽

    自适应列宽则极其简单,绑定BeforePrint事件即可,代码如下:

    private void pivotGrid1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {

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

    grid.BestFit();

    }

    再次盗用DX官方的一张效果图:

    clip_image003

  • 相关阅读:
    19牛客暑期多校 round2 H 01矩阵内第二大矩形
    NOIP2017滚粗记
    Left 4 Dead 2(求生之路2) 游戏打不开 游戏闪退 的一种可能性以及解决方法
    Luogu P1156 垃圾陷阱
    Luogu P1376 机器工厂
    Luogu P1842 奶牛玩杂技
    Luogu P1880 石子合并
    Luogu P1441 砝码称重(fj省选)
    Luogu P1077 摆花
    Luogu P1282 多米诺骨牌
  • 原文地址:https://www.cnblogs.com/wanglj2007/p/5503091.html
Copyright © 2011-2022 走看看