我们有一个使用活动报表的报表设计器项目。我们想要使用活动报告的子报告工具。子报表控件具有一个"report"属性,该属性填充子报表的ActiveReport内容。由于我们有一个设计器项目和一个SubReport工具,我想向SubReport控件添加一个属性,该属性将打开一个新表单,使用户可以从列表中选择一个报告并将报告加载到SubReport控件中。
那么,如何向打开新窗口窗体的控件添加属性呢?
以下是我如何设置属性:
public class SubReportProp
{
private DataDynamics.ActiveReports.SubReport _SubReport;
public SubReportProp(DataDynamics.ActiveReports.SubReport subReport, List<string> fieldCollection)
{
this._SubReport = subReport;
if (fieldCollection != null && fieldCollection.Count > 0)
{
FieldVars._DataFields = fieldCollection;
}
}
[DisplayName("X")]
[Description("Kontrolün yatay konumunu getirir veya ayarlar.")]
[Category("Konum")]
public float X
{
get
{
return SharedProp.TrimFloatValue(ActiveReport.InchToCm(_SubReport.Location.X));
}
set
{
_SubReport.Location = new PointF(ActiveReport.CmToInch(value), _SubReport.Location.Y);
}
}
[DisplayName("Y")]
[Description("Kontrolün dikey konumunu getirir veya ayarlar.")]
[Category("Konum")]
public float Y
{
get
{
return SharedProp.TrimFloatValue(ActiveReport.InchToCm(_SubReport.Location.Y));
}
set
{
_SubReport.Location = new PointF(_SubReport.Location.X, ActiveReport.CmToInch(value));
}
}
}
像这些x,y坐标一样,我还需要添加另一个属性,该属性允许用户从列表中选择一个报告并应用于_SubReport.report
http://blogs.gcpowertools.co.in/2011/11/showcase-enhance-end-user-designer.html#more
我想你应该看看这个博客。它正是你想要的。
kubilay
报表布局可以保存为流。您可以将其作为blob/byte数组保存到数据库中。如果可能的话,您也可以将报告以xml格式保存为文本。这是使用ActiveReport的SaveLayout API实现的。
然后可以使用LoadLayout API将此报告加载回。