Winforms Report(RDLC)在运行时与具有list属性的对象绑定

时间:2015-11-10 16:42:41

标签: c# winforms reporting-services rdlc

我有一个对象,其中包含有关订单的标题级别详细信息,以及订单详细信息列表。

标题信息填充得很好,但我无法弄清楚如何将订单详细信息列表绑定到报表上的Tablix。

这是错误的做法吗? 数据连接是在运行时确定的,所以我不认为我可以轻松地将子报表挂钩到数据库并传递过滤器。

编辑:我应该添加一个带有ReportViewer的父表单,如果它有所不同。这就是我设置数据源的地方。

    public class FormulaHeaderModel
{
    public string flavor { get; set; }
    public string name { get; set; }
    public string author { get; set; }
    public string formulaId { get; set; }
    public string formulaNumber { get; set; }
    public string formulaType { get; set; }
    public string accessLevel { get; set; }
    public string createdOnDate { get; set; }
    public string formulaWeight { get; set; }
    public string note { get; set; }
    public List<FormulaDetailModel> dataCharacterizing { get; set; }
    public List<FormulaDetailModel> dataContributory { get; set; }
    public List<FormulaDetailModel> dataGlobal { get; set; }
    public List<FormulaDetailModel> dataCarrier { get; set; }
}
    public class FormulaDetailModel
{
    public int formulaID { get; set; }
    public int ingredientTypeId { get; set; }
    public string codeFema { get; set; }
    public decimal ingredientCost { get; set; }
    public string name { get; set; }
    public string natural { get; set; }
    public decimal ppm { get; set; }
    public decimal percentSolution { get; set; }
    public decimal grams {get; set;}
}

我需要为每个列表都有一个Tablix。

所以top是字符串级别信息,然后是4个FormulaDetailModel列表中每个列表的标签和tablix(或其他任何内容)。

1 个答案:

答案 0 :(得分:0)

知道了。只要名称与为表设置的数据集名称匹配,我就可以添加第二个数据源。

this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("FormulaDetailModel", fhModel.dataCharacterizing ));