Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > DevExpress XtraReports


Автор: IEZ 23.9.2014, 14:29
Приветствую Всех!
Пытаюсь в этом звере нарисовать таблицу 3х3.
Внутри в скриптах отчета пишу следующее:

Код

using System.Drawing;
using System.Drawing.Printing;
using DevExpress.XtraReports.UI;

private void Report_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) 
{
    detailBand1.Controls.Add(CreateXRTable());
}

public XRTable CreateXRTable() 
{
    int cellsInRow = 3;
    int rowsCount = 3;
    float rowHeight = 25f;

    XRTable table = new XRTable();
    table.Borders = DevExpress.XtraPrinting.BorderSide.All;
    table.BeginInit();

    for (int i = 0; i < rowsCount; i++) {
        XRTableRow row = new XRTableRow();
        row.HeightF = rowHeight;
        for (int j = 0; j < cellsInRow; j++) {
            XRTableCell cell = new XRTableCell();
            row.Cells.Add(cell);
        }
        table.Rows.Add(row);
    }

    table.BeforePrint += new PrintEventHandler(table_BeforePrint);
    table.AdjustSize();
    table.EndInit();
    return table;
}

void table_BeforePrint(object sender, PrintEventArgs e) 
{
    XRTable table = ((XRTable)sender);
    table.LocationF = new DevExpress.Utils.PointFloat(0F, 0F);
    table.WidthF = this.PageWidth - this.Margins.Left - this.Margins.Right;
}


Но в результате я получаю в отчете две таблицы 3х3 (см. аттач).
Что делаю не так?
Спасибо.

Автор: IEZ 24.9.2014, 12:51
Разобрался. Вопрос решен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)