在我的报告中,XRTable 单元格的数量不是固定的,而是取决于每次打印详细信息带时提供的数据。所以,我需要在运行时添加或删除表格单元格。我想我应该处理细节带的 BeforePrint 事件,但没有成功。如何才能做到这一点?

最佳答案

处理详细信息带的 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();

}

关于c# - 如何在运行时向表格添加单元格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49897596/

10-12 07:00