如何在运行时向表中添加单元格

时间:2018-04-18 10:38:02

标签: c# asp.net devexpress

在我的报告中,XRTable单元的数量没有固定,并且取决于每次打印细节带时提供的数据。所以,我需要在运行时添加或删除表格单元格。我想我应该处理细节乐队的BeforePrint事件,但没有成功。怎么办呢?

1 个答案:

答案 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();

}