zoukankan      html  css  js  c++  java
  • XtraReport 添加空行的办法,很详细

    这两天为了做报表,研究了一下XtraReport 。为了添加空行,想了很多办法。其中如果有分组时,网上给出的办法就会失败。
    现将经验公布一下,希望各位都能少走弯路。

    1.加入自定义函数CreateCellArray,用于创建空行。
    2.生成报表的 FillEmptySpace 事件,填写如下代码。
    3.tableDetail 是指细节 区带
    4.****注意,如果有分组,必须将分组PrintAtBottom设置为true,就是将其下沉。

     
    private void CreateCellArray(XRTableRow xrRow, XRTableRow xrRowTemplate)
      {
       int Xmargin = 0;
       for (int i = 0; i < xrRowTemplate.Cells.Count; i++)
       {
        XRTableCell xrcell = new XRTableCell();
        xrcell.BorderWidth = 1;
        xrcell.Borders = (DevExpress.XtraPrinting.BorderSide)((BorderSide.Left | BorderSide.Right) | BorderSide.Bottom);
        xrcell.WidthF = xrRowTemplate.Cells.WidthF;
        xrcell.BackColor = xrRowTemplate.Cells.BackColor;
        xrcell.Height = xrRowTemplate.Height;
        if (i != 0)
        {
         xrcell.Location = new Point(Convert.ToInt32(Xmargin + xrRowTemplate.Cells.WidthF), 0);
        }
        else
        {
         xrcell.Location = new Point(0, 0);
        }
        xrRow.Cells.Add(xrcell);
       }
      }
      private void XR_HT_RT_FillEmptySpace(object sender, BandEventArgs e)
      {
       XRTable table = tableDetail;//Template Detail Band XRTable
       int iheight = table.Rows[table.Rows.Count - 1].Height;
       XRTable xrTable = new XRTable();
       xrTable.Size = new Size(table.Width, e.Band.Height - 1);
       xrTable.BorderWidth = table.BorderWidth;
       xrTable.Location = table.Location;
       xrTable.BackColor = table.BackColor;
       int SpaceRowCount = e.Band.Height / iheight;
       XRTableRow[] xrRow = new XRTableRow[SpaceRowCount];
       if (SpaceRowCount > 0)
       {
        for (int i = 0; i < SpaceRowCount; i++)
        {
         xrRow = new XRTableRow();
         xrRow.Size = new Size(table.Width, iheight);
         xrRow.Location = new Point(table.Location.X, i * iheight);
         xrRow.Borders = (DevExpress.XtraPrinting.BorderSide)((BorderSide.Left | BorderSide.Right) | BorderSide.Bottom);
         xrRow.BorderWidth = 1;
         xrRow.BorderColor = table.Rows[table.Rows.Count - 1].BorderColor;
         //CreateCell
         XRTableRow row = table.Rows[table.Rows.Count - 1];
         CreateCellArray(xrRow, row);
        }
        xrTable.Rows.AddRange(xrRow);
        e.Band.Controls.Add(xrTable);
       }
      }
    

      

  • 相关阅读:
    JMeter 压测基础(四)——Java工程测试
    Docker 实战(二)——centos7镜像安装nginx,将安装nginx的centos容器生成新的镜像,并导出
    JMeter压测基础(三)——Mysql数据库
    Jmeter压测基础(二)——Badboy功能、Jmeter参数化、检查点、集合点、动态关联、图形监控
    API 自动化框架
    Python Flask Restful
    【19】Grafana添加Zabbix为数据源
    【18】使用公共邮箱发送邮件
    xls格式转化为txt格式
    【17】自动发现磁盘脚本
  • 原文地址:https://www.cnblogs.com/ddlzq/p/4181393.html
Copyright © 2011-2022 走看看