环思产品论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2489|回复: 0
打印 上一主题 下一主题

XtraReport交叉表自适应行高及最佳列宽

[复制链接]

3

主题

3

帖子

51

积分

注册会员

王利建

Rank: 2

积分
51
QQ
跳转到指定楼层
楼主
发表于 2016-5-17 20:10:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wutingting 于 2017-4-14 18:18 编辑


  • 自适应行头的行高,绑定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;
      varlist=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 asHuanSi.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;
      }           
}
效果图如下:


  • 自适应数据的行高,同样绑定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;
    }
}
盗用网上一张效果图:

  • 自适应列宽
自适应列宽则极其简单,绑定BeforePrint事件即可,代码如下:
private void pivotGrid1_BeforePrint(object sender,System.Drawing.Printing.PrintEventArgs e) {
var grid=sender as HuanSi.XtraReports.UI.XRPivotGrid;
grid.BestFit();
}
再次盗用DX官方的一张效果图:







分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|上海环思 ( 沪ICP备11022428号 )

GMT+8, 2024-9-17 09:50 , Processed in 0.088454 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表