XtraReport交叉表隐藏列标题及自定义排序
1.隐藏列标题
用DevExpress PivotGrid report 做报表的时候,将字段拖放到报表中后,ColumnArea和DataArea会显示两个标题字段,如下图:

选中交叉表,设置以下属性可以隐藏:

效果如下:

2.自定义排序
做报表的时候,设定ColumnArea的FiledName为sSize,最终呈现的报表是依据sSize排序。而期望的是按照iSizeGroupId,iSizeOrder排序,但iSizeGroupId,iSizeOrder由于不用在报表中呈现,故未将其拖放在报表中.
如何使ColumnArea依据iSizeGroupId,iSizeOrder来排序呢? 使用xrPivotGrid1_CustomFieldSort 事件可以解决这个问题。
具体处理如下:
1.设置sSize的SortMode为Custom。否则xrPivotGrid1_CustomFieldSort 事件不会触发。


2.处理xrPivotGrid1_CustomFieldSort 事件。
注:此处的排序字段也可以在SQL中提前处理好,在SQL中将两个字段合并一个排序字段。
private void pivotGrid1_CustomFieldSort(object sender, HuanSi.XtraReports.UI.PivotGrid.PivotGridCustomFieldSortEventArgs e)
{
//当列为sSize时,才处理自定义排序
if (e.Field.FieldName == "sSize")
{
if (e.Value1 == null || e.Value2 == null) return;
e.Handled = true;
//取iSizeGroupId
string sg1 = e.GetListSourceColumnValue(e.ListSourceRowIndex1, "iSizeGroupId").ToString();
string sg2 = e.GetListSourceColumnValue(e.ListSourceRowIndex2, "iSizeGroupId").ToString();
//取iSizeOrder
string s1 = e.GetListSourceColumnValue(e.ListSourceRowIndex1, "iSizeOrder").ToString();
string s2 = e.GetListSourceColumnValue(e.ListSourceRowIndex2, "iSizeOrder").ToString();
//比较iSizeGroupId
if (string.Compare(sg1, sg2) > 0)
{
e.Result = 1;
}
else if (string.Compare(sg1, sg2) == 0) //iSizeGroupId相等时,再比较iSizeOrder
{
e.Result = string.Compare(s1, s2);
}
else
{
e.Result = -1;
}
}
}
3.保存预览即可达到预期目标

XtraReport交叉表隐藏列标题及自定义排序的更多相关文章
- RS交叉表按照预定的节点成员排序
需求:RS一个交叉表,显示所有(科室-职称-医生)的就诊量,但是针对同一个科室来说,该科室的主任执行报表首先需要第一个看到的是主任医师级别的工作量 效果如图: 得到这个需求后感觉很简单,就是根据职称排 ...
- FastReport.Net使用:[8]交叉表一
1.绘制报表标题,交叉表可以直接放在标题栏内. 2.拖动一交叉表控件到标题栏内. 3.设置交叉表的行列信息. 将Tabel中的[科室名称]列拖到交叉表的列上以创建列,将Tabel中的[姓名]列拖到交叉 ...
- 单击dbgrid列标题排序 升降序
delphi中如何通过单击列标题进行升降排序, 在dbgrid的ontitleclick事件里添加这样的事件处理 procedure TForm3.DBGrid1TitleClick(Column: ...
- datatables对于某一特定的列进行自定义排序
首先说下里边的api,其中第一个是order,这个里边是设置哪些排序哪些不排序的,比如:$('#example').dataTable( { "order": (funct ...
- DataGridView右键菜单自定义显示及隐藏列
WinForm程序中表单的列可自定义显示及隐藏,是一种常见的功能,对于用户体验来说是非常好的.笔者经过一段时间的摸索,终于实现了自己想要的功能及效果,现记录一下过程: 1.新建一个自定义控件,命名为: ...
- treeview自动从表中添加标题和列值做目录的方法2
treeview自动从表中添加标题和列值做目录的方法2,该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首 ...
- RS导出Excel交叉表角对应的列占用多列问题
在Cognos报表展示的时候,很多用户为了计算会把数据报表导出成excel然后再做统计,于是乎我做的一张报表导出成Excel的时候就出现了这样的问题 从上图可以看出交叉表角对应的列 ‘一级手术’和‘二 ...
- element-ui自定义table表头,修改列标题样式
elementUI table表格一般的样式是这样的: 但是要改变表头是比较麻烦的一个事情,但是往往有些项目是需要的比如改成如下样式: 一般直接改起来挺麻烦,好在官网提供了一个方法:render-he ...
- mysql 交叉表
交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义.http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4c ...
随机推荐
- jquery.cycle.js简单用法实例
样式: a{text-decoration: none;} *{;;} /*容器设置*/ .player { width:216px; height:248px; background:url(htt ...
- pushState与replaceState区别
history.pushState(state, title, url) 将当前URL和history.state加入到history中,并用新的state和URL替换当前.不会造成页面刷新. sta ...
- CentOS+Apache+php无法访问redis的解决方法
PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP. 接下来让我们安装 PH ...
- getimagesize函数介绍
getimagesize(); 返回结果说明 索引 0 给出的是图像宽度的像素值 索引 1 给出的是图像高度的像素值 索引 2 给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 ...
- Android PackageManager packages.xml文件格式
packages.xml文件存放在/data/system目录下 该文件记录了系统中所有应用程序的包管理相关信息 PmS根据该文件进行包管理的各种操作 标签名称 所包含的值举例 last- ...
- Bag of Words/Bag of Features的Matlab源码发布
2010年11月19日 ⁄ 技术, 科研 ⁄ 共 1296字 ⁄ 评论数 26 ⁄ 被围观 4,150 阅读+ 由于自己以前发过一篇文章讲bow特征的matlab代码的优化的<Bag-Of-Wo ...
- Junit 源码剖析(一)
采用Junit4.8.2分析Junit实现架构 源码架构两个大包:junit包 org包 首先分析org.junit.runners.model包下的几个类 org.junit.runners.mod ...
- javascript日用代码集合(一)
获取url参数 function get_url_param(name){ var reg = new RegExp("(^|&)" + name + "=([^ ...
- DIV焦点事件
div本来是没有focus和blur事件的. 如果用div来模拟一个input标签,同时需要它和input一样响应focus和blur事件, 就需要给他加上attribute:tabindex An ...
- Android 使用HTTP(get和post)方式登陆服务器
package com.wuyou.submittoserver; import android.os.Bundle; import android.support.v7.app.ActionBarA ...