使用背景:devexpress控件,版本v10.2,开发环境vs2010;
使用xtraReport开发,需要按组合并的功能,比如同一个部门的人需要这样显示:
这时就需要在xtraReport的字段域(比如上面的部门字段)写script脚本来实现了:
当然,首先要按部门分组,具体方法见之前文章,并在显示部门字段的XRTableCell上的script的BeforePrint事件中写如下代码:
private void cel_Dep_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
if(GetCurrentColumnValue("DeptName")!=null)
{
string sDep = GetCurrentColumnValue("DeptName").ToString();
if (sDep != lbl_Dep.Text)
{
cel_Dep.Text = sDep;
lbl_Dep.Text = sDep;
}
else //如果当前值和变量相等,则输出""
{
cel_Dep.Text="";
}
}
}
其中 lbl_Dep为一放置在报表中的label,visible设为false,在这里起到一个变量的作用。
注意XRTableCell的边框设置:deptName的borders设为left,right;合计的borders设为all,
不过有点稍微的瑕疵,部门和合计的有些错位,还没找到好的解决办法,不过整体效果应该可以了。