我正在编写一份报告,我需要计算XRTableCell的实际高度。我试图覆盖BeforePrint
XRTableCell,但它会报告设计师使用的高度。
您如何获得渲染单元格的实际大小?
答案 0 :(得分:0)
BeforePrint和AfterPrint事件在实际渲染完成之前发出。 您可以挂钩Draw事件来记录使用的尺寸,但是这些信息可能来得太晚,您无法有效地使用它。
如果预览表面被改变,则重复绘制事件,例如,如果调整保证金。
public partial class XtraReport1 : DevExpress.XtraReports.UI.XtraReport {
public XtraReport1() {
InitializeComponent();
}
void xrTableCell1_BeforePrint( object sender, System.Drawing.Printing.PrintEventArgs e ) {
// Called 1st.
}
void xrTableCell1_AfterPrint( object sender, EventArgs e ) {
// Called 2nd.
}
float xrTableCell1_RenderHeight = 0;
void xrTableCell1_Draw( object sender, DrawEventArgs e ) {
// Called 3rd. And repeated if the preview window is altered. (e.g. Margins moved)
XRTableCell cell = sender as XRTableCell;
xrTableCell1_RenderHeight = e.Bounds.Height;
}
}