在我的报告中,XRTable单元的数量没有固定,并且取决于每次打印细节带时提供的数据。所以,我需要在运行时添加或删除表格单元格。我想我应该处理细节乐队的BeforePrint事件,但没有成功。怎么办呢?
答案 0 :(得分:2)
处理详细信息区段的BeforePrint事件是在运行时将表格单元格添加到表格的最佳方法。但是请注意,在这种情况下,您应该使用SuspendLayout和PerformLayout方法对来防止连续的其他表格单元格被更改。以下示例演示如何将XRTableCell添加到表中。
using DevExpress.XtraReports.UI;
// ...
private void Detail_BeforePrint(object sender, PrintEventArgs e) {
// Create a new table cell and set its text and width.
XRTableCell tableCell = new XRTableCell();
tableCell.Text = "NewCell";
tableCell.Width = 200;
// Suspend the table's layout.
xrTable1.SuspendLayout();
// Change the table.
xrTable1.Width = xrTable1.Width + tableCell.Width;
((XRTableRow)xrTable1.Rows[0]).Cells.Add(tableCell);
// Perform the table's layout.
xrTable1.PerformLayout();
}