C# 如何在运行时将单元格添加到表中

C# 如何在运行时将单元格添加到表中,c#,asp.net,devexpress,C#,Asp.net,Devexpress,在我的报告中,XRTable单元格的数量不是固定的,它取决于每次打印细节栏时提供的数据。因此,我需要在运行时添加或删除表单元格。我想我应该处理细节乐队的打印前事件,但没有成功。如何做到这一点?处理细节栏的BeforePrint事件是在运行时将表格单元格添加到表格中的最佳方法。但是还要注意,在这种情况下,应该使用SuspendLayout和PerformLayout对方法来防止行中的其他表单元格被更改。下面的示例演示如何将XRTableCell添加到表中 using DevExpress.Xtra

在我的报告中,XRTable单元格的数量不是固定的,它取决于每次打印细节栏时提供的数据。因此,我需要在运行时添加或删除表单元格。我想我应该处理细节乐队的打印前事件,但没有成功。如何做到这一点?

处理细节栏的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();

}