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;
}
}
效果图如下:

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交叉表自适应行高及最佳列宽的更多相关文章
- excel制作田字格,excel行高磅,列宽1/10英寸;
打开一个excel表格,发现列宽是行高的4倍: 开始-格式中查看,发现行高14.25磅,列宽8.38*1/10英寸: 网上百度,了解1英寸=72磅: 那么列宽8.38=60.336磅: 60.336英 ...
- GridView——标题行自适应单元格列宽与选中单元格变色
首先看效果图: 主要实现—— 1.前台GridView代码: <asp:GridView Height="100%" Width="98%" ID=&qu ...
- Aspose.Cells设置自动列宽(最佳列宽)及一些方法总结
/// <summary> /// 设置表页的列宽度自适应 /// </summary> /// <param name="sheet">wor ...
- dataGridView行高自适应
今天从网上查询相关datagridview行高自适应的信息时,好多都是告诉你直接用下面三行代码: dataGridView1.AutoSizeRowsMode = DataGridViewAutoSi ...
- C# 设置Excel数据自适应行高、列宽的2种情况
Excel表格中,由于各种数据的复杂性,可能存在单元格中的数据字号大小.数据内容长度不一而出现,列宽过宽.过窄或者行高过大.过小的问题.常见的解决方法是调整行高.列宽.在Microsoft Excel ...
- layui table 数据表格固定列的行高和table其他列的行高不一致
1.问题描述:使用layui的table数据表格,固定某一列,这样表格中数据的宽度超出屏幕宽度时,固定列可以一直显示在屏幕中,不会随着底部滚动栏左右的拖动而变化位置.但是遇到一个问题,就是固定列的行高 ...
- CSS.03 -- 浏览器行高、字体;盒子模型--边框、内边距、外边距
如果此时你也在自学中,请使用 FireWorks CS6 进行切图测距等,百度一下吧~ Fireworks的基本使用 新建文件 ctrl+n 打开文件 ctrl+o 调出和隐藏标尺 ctrl+r ...
- RS交叉表自动汇总后百分比列显示错误之解决方案
可以说在从事Cognos开发的过程中,仅仅对数据展现而言,大多数用户使用最多的工具便是Report Studio了,此工具可以帮助我们快速的构建一些可供用户自主选择的数据报告.当然我个人认为没有什么开 ...
- css中line-height行高的深入学习
之前对css中行高line-height的理解还是有些肤浅,深入后才发觉里面包罗万象.学习行高line-height,首先从基本原理开始 (标注该文章转载 http://www.cnblogs.com ...
随机推荐
- Android 中LinearLayout控件属性
id 为控件指定相应的ID text 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符 g ...
- 原生javascript操作class-元素查找-元素是否存在-添加class-移除class
//判断元素是否有classfunction hasClass(ele, cls) { return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\ ...
- shell 1变量注意点
定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样. 删除变量 使用 un ...
- 练习2 G题 - 数值统计
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 统计给 ...
- log4j源码阅读
基于log4j1.2.17的源代码阅读 org.apache.log4j.xml.DOMConfigurator 类是log4j的xml配置文件初始化类 org.apache.log4j.Proper ...
- CFUUIDRef和CFStringRef-生成唯一标识符
- (NSString *)createCUID:(NSString *)prefix{ NSString * result; CFUUIDRef uuid; CFStringRef uuidS ...
- CentOS中JAVA_HOME的环境变量设置
http://blog.csdn.net/wind520/article/details/9308809 运行Java应用的时候,提示无法找到JAVA_HOME,查询java -version [ji ...
- ibatis把表名作为一个参数报错问题的解决方案
用ibatis的时候,想把表名也作为一个参数传进去,可是报错了,在ibatis配置文件里面是#resource#的方式,报错信息如下: org.apache.cxf.interceptor.Fault ...
- web页面布局思想
一.盒子模型 网页可以看成由一个个"盒子"组成,如图: 由上图可以看出,页面分为上(网站导航).中.下(版权声明)三个部分,中间部分又分为左(商品分类).中(主要部分).右,这些版 ...
- c#查看电脑内存
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...