在我的报告中,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/