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;

}

}

效果图如下:

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;

}

}

盗用网上一张效果图:

3.自适应列宽

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

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

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

grid.BestFit();

}

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

XtraReport交叉表自适应行高及最佳列宽的更多相关文章

  1. excel制作田字格,excel行高磅,列宽1/10英寸;

    打开一个excel表格,发现列宽是行高的4倍: 开始-格式中查看,发现行高14.25磅,列宽8.38*1/10英寸: 网上百度,了解1英寸=72磅: 那么列宽8.38=60.336磅: 60.336英 ...

  2. GridView——标题行自适应单元格列宽与选中单元格变色

    首先看效果图: 主要实现—— 1.前台GridView代码: <asp:GridView Height="100%" Width="98%" ID=&qu ...

  3. Aspose.Cells设置自动列宽(最佳列宽)及一些方法总结

    /// <summary> /// 设置表页的列宽度自适应 /// </summary> /// <param name="sheet">wor ...

  4. dataGridView行高自适应

    今天从网上查询相关datagridview行高自适应的信息时,好多都是告诉你直接用下面三行代码: dataGridView1.AutoSizeRowsMode = DataGridViewAutoSi ...

  5. C# 设置Excel数据自适应行高、列宽的2种情况

    Excel表格中,由于各种数据的复杂性,可能存在单元格中的数据字号大小.数据内容长度不一而出现,列宽过宽.过窄或者行高过大.过小的问题.常见的解决方法是调整行高.列宽.在Microsoft Excel ...

  6. layui table 数据表格固定列的行高和table其他列的行高不一致

    1.问题描述:使用layui的table数据表格,固定某一列,这样表格中数据的宽度超出屏幕宽度时,固定列可以一直显示在屏幕中,不会随着底部滚动栏左右的拖动而变化位置.但是遇到一个问题,就是固定列的行高 ...

  7. CSS.03 -- 浏览器行高、字体;盒子模型--边框、内边距、外边距

    如果此时你也在自学中,请使用 FireWorks CS6 进行切图测距等,百度一下吧~ Fireworks的基本使用 新建文件   ctrl+n 打开文件  ctrl+o 调出和隐藏标尺 ctrl+r ...

  8. RS交叉表自动汇总后百分比列显示错误之解决方案

    可以说在从事Cognos开发的过程中,仅仅对数据展现而言,大多数用户使用最多的工具便是Report Studio了,此工具可以帮助我们快速的构建一些可供用户自主选择的数据报告.当然我个人认为没有什么开 ...

  9. css中line-height行高的深入学习

    之前对css中行高line-height的理解还是有些肤浅,深入后才发觉里面包罗万象.学习行高line-height,首先从基本原理开始 (标注该文章转载 http://www.cnblogs.com ...

随机推荐

  1. CSS_Bootstrap

    ①BS学习的基础 第一个例子 <!DOCTYPE html> <html lang="en"> <head> <title>Boot ...

  2. js 中的流程控制-循环(for)语句

    for语句: <script> /* for(exp1;exp2;exp3){ 循环体; } exp1:无条件的执行第一个表达式 exp2:判断是否能执行循环体的条伯 exp3:做增量的操 ...

  3. Hierarchy Viewr 配合 adb 命令 查看窗口属性

    Hierarchy Viewr 可以看到当前 的 窗口层次如下

  4. 小记,取GB2312汉字的首字母【转】

    /// <summary> /// PY 的摘要说明. /// </summary> public class PY { // Fields private string m_ ...

  5. property测试代码:

    // // main.m // TestVar2 // // Created by lishujun on 14-9-4. // Copyright (c) 2014年 lishujun. All r ...

  6. golang-mongodb范例

    package main import ( "log" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) ...

  7. MFC 之ActiveX控件学习

    本文将介绍ActiveX控件的应用与工作原理,读者可以把ActiveX控件看成一个极小服务器的应用程序,它不能独立运行,必须要嵌入到容器程序中与容器一起运行,就像电脑主机中的显卡,它自己在电脑硬件系统 ...

  8. Xcode中使用GitHub详解

    为了熟悉git命令及将写的小Demo能够管理起来方便日后查询,所以选择使用GitHub. 现在我们来说说Xcode中如何使用GitHub--- 一.当然是要先有GitHub帐号并登录了(没有的注册一个 ...

  9. 写的一个Makefile

    #========================================================================= # # MAKE FILE FOR ROCKY # ...

  10. ios7新特性3-Map Kit新特性

    Map Kit 框架 (MapKit.framework) 包含了大量的改进以及为基于地图的程序提供了新特性.利用地图显示位置信息的应用现在可以使用Maps这个程序用到的3D地图,包括控制程序控制视线 ...