我知道我可以使用Active Reports,但让我们留下它作为最后的手段。
我有一个用户控件,我所做的只是在OnPaint方法中绘制图形(因为这是我可以显示图形的唯一方法)。我知道Active Reports是静态的,但我希望它能画一次。相反,我只是得到了灰色的盒子。有没有办法实现这一目标,还是我不能直接在Active Reports中转换我的东西?我在运行绘制图形的代码后尝试暂停OnPaint方法,但这没有用。
答案 0 :(得分:0)
ActiveReports支持托管.net组件。无需直接在AR表面上绘画。这不是一个理想的场景,但它应该工作。我们需要更多详细信息来诊断您的用户控件无法正常工作的原因。你把它放在哪个部分?是绑定还是静态图形?你应该知道AR在处理时绘制控件,它绑定控件然后将它们绘制成自己的格式(RDF),然后观察者只能理解这种格式(把它想象成一张纸)。这意味着您需要将控件放在报表上并让它呈现它,而不是尝试在查看器中呈现它。
无论如何,有关您的控件和您使用它的报告的更多详细信息都会有所帮助。请通过activereports.support@grapecity.com与我们联系,我们会尽力提供帮助。
答案 1 :(得分:0)
在与GrapeCity合作之后,我在完成这3项更改后能够让它正常工作(我确定它只是最后一项更改):
然后在报告中将其全部声明为:
private void SectionReport1_ReportStart(object sender, EventArgs e)
{
GrapeCity.ActiveReports.SectionReportModel.CustomControl cc;
MyControl myc = new MyControl();
cc = new GrapeCity.ActiveReports.SectionReportModel.CustomControl(myc.GetType());
cc.Location = new PointF(1f, 1f);
cc.Size = new SizeF(4f, 4f);
this.detail.Controls.Add(cc);
}