1. XRTableCell常见属性

  XRTableCell xrTableCell = new XRTableCell();

  A. 字体及字体大小

    xrTableCell.Font = new System.Drawing.Font("Arial", FontSize);

  B. 内容是否可以换行

  xrTableCell.WordWrap = False;

    C. 文本对齐方式

  xrTableCell.TextAlignment=DevExpress.XtraPrinting.TextAlignment.MiddleLeft;

    D. 边框是否显示及边框宽度

    xrTableCell.Borders = DevExpress.XtraPrinting.BorderSide.All;

    xrTableCell.BorderWidth = 0.5F;

    E. 宽度和高度

  xrTableCell.WidthF = 30;

  xrTableCell.HeightF = 30;

  F. XRTableCell文本前景色

    xrTableCell.ForeColor=Color.Red;

    G. XRTableCell文本内容左右间隔;

  DevExpress.XtraPrinting.PaddingInfo padRight= new DevExpress.XtraPrinting.PaddingInfo();
    padRight.Right = 4;

    XRTableCell xrTableCell = new XRTableCell();
    xrTableCell.Padding = padRight;

2. xrTable合并单元格(主要针对旧版本)

在新做的一个页面要用到xrTable合并单元格。我先在Design界面加了一个GroupHeader,随后又在GroupHeader中放了一个XRPanel,最后在XRPanel放入由xrTable嵌套的实现合并XRTableCell的功能,最后导致每一页在切换到下一页时输入很奇怪的一条线,最后查了两三天才发现这个问题。后来经过确认其实不需要加XRPanel的,直接放入嵌套的xrTable就可以了,深刻的教训,值得深思!

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using System.Drawing.Printing;
using System.Linq.Expressions;

namespace DevExpressConsole
{
    public partial class TrendAndReport : DevExpress.XtraReports.UI.XtraReport
    {
        public TrendAndReport()
        {
            InitializeComponent();
            PrintDocument();
        }

        private void PrintDocument()
        {
            float TotalWidth = this.PageWidth - this.Margins.Left - this.Margins.Right;
            float CellHeight = 30;
            float CondtWidth = 30;

            for (int i = 0; i <= 7; i++)
            {
                XRTable TableContainer = new XRTable();
                TableContainer.CanGrow = true;
                TableContainer.BeginInit();
                for(int j=0;j<8;j++)
                {
                    XRTableRow TCRow = new XRTableRow();
                    TCRow.CanGrow = true;

                    XRTableCell OrderNo = new XRTableCell();
                    OrderNo.CanGrow = true;
                    OrderNo.WidthF = TotalWidth - CondtWidth - 400;
                    OrderNo.HeightF = CellHeight;
                    OrderNo.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
                    OrderNo.ProcessDuplicates = DevExpress.XtraReports.UI.ValueSuppressType.Suppress;
                    OrderNo.Text = j + 1 + "";
                    OrderNo.WordWrap = true;
                    TCRow.Cells.Add(OrderNo);

                    XRTableCell Happy = new XRTableCell();
                    Happy.CanGrow = true;
                    Happy.WidthF = 400;
                    Happy.HeightF = CellHeight;
                    Happy.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
                    Happy.Text = "I am very happy with this! ";
                    Happy.WordWrap = true;
                    TCRow.Cells.Add(Happy);

                    XRTableCell HW = new XRTableCell();
                    HW.CanGrow = true;
                    HW.WidthF = 200;
                    HW.HeightF = CellHeight;
                    HW.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
                    HW.Text = "Hello World! ";
                    HW.WordWrap = true;
                    TCRow.Cells.Add(HW);

                    TableContainer.Rows.Add(TCRow);
                }
                TableContainer.KeepTogether = true;
                TableContainer.AdjustSize();
                TableContainer.EndInit();

                XRTable xrTab = new XRTable();
                xrTab.CanGrow = true;
                xrTab.BeginInit();
                xrTab.LocationF = new PointF(0, 25 + TableContainer.HeightF * i);

                XRTableRow row = new XRTableRow();
                row.CanGrow = true;

                XRTableCell cell = new XRTableCell();
                cell.CanGrow = true;
                cell.Borders = DevExpress.XtraPrinting.BorderSide.All;
                cell.Controls.Add(TableContainer);
                cell.WidthF = TableContainer.WidthF;
                row.Cells.Add(cell);

                XRTableCell CONT = new XRTableCell();
                CONT.CanGrow = true;
                CONT.Text = "Cont'd";
                CONT.WidthF = CondtWidth;
                CONT.HeightF = TableContainer.HeightF;
                CONT.Angle = 270;
                CONT.Borders = DevExpress.XtraPrinting.BorderSide.All;
                CONT.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
                row.Cells.Add(CONT);

                GroupHeader1.Controls.Add(xrTab);
                xrTab.WidthF = TotalWidth;
                xrTab.HeightF = TableContainer.HeightF;
                xrTab.Rows.Add(row);
                xrTab.AdjustSize();
                xrTab.EndInit();
            }
        }
    }
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-14
  • 2022-12-23
  • 2022-12-23
  • 2021-07-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
相关资源
相似解决方案