将新属性添加到打开新表单的控件?

时间:2012-08-02 12:12:06

标签: c# activereports

我们有一个使用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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

库比拉伊

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

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