3

我们有一个使用 Active Reports 的报表设计器项目。我们想使用 Active Reports 的 SubReport 工具。子报表控件具有填充子报表的 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

4

2 回答 2

2

http://blogs.gcpowertools.co.in/2011/11/showcase-enhance-end-user-designer.html#more

我想你应该看看这个博客。它完全符合您的要求。

于 2012-08-02T14:31:42.650 回答
1

忽必烈

报告布局可以保存到流中。您可以将其作为 blob/byte 数组保存到数据库中。如果可能,您还可以将报告以 xml 格式保存为文本。这是使用 ActiveReport 的 SaveLayout API 完成的。

然后可以使用 LoadLayout API 重新加载此报告。

于 2012-09-21T15:22:50.207 回答