【问题标题】:Adding a new property to a control which opens a new form?向打开新表单的控件添加新属性?
【发布时间】:2012-08-02 12:12:05
【问题描述】:

我们有一个使用活动报表的报表设计器项目。 我们想使用 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

【问题讨论】:

  • 请给我看一下子报表控件的代码

标签: c# activereports


【解决方案1】:

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

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

【讨论】:

  • 这正是我正在寻找的,但示例项目链接已失效!我真的需要看看那个示例项目。感谢回复
  • 您可以从这里下载示例:speedy.sh/56sMq/Enhanced-EndUserDesigner.zip
  • 这对我来说是一个很好的示例,但如果可能的话,我想请别人帮忙。在此示例中,报告被保存到文件或内存中。但在我们的项目中,它被设计为将报表布局保存到 Oracle。它正在使用 OracleLob 来保存流。如果您知道示例使用 Oracle 保存报告,我将不胜感激您的建议,谢谢
【解决方案2】:

库比莱

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    相关资源
    最近更新 更多