C#使用对象数据源用于我的报告解决方案



假设我有这样的类

public class Product
{
    public string Name {get; set;}
    public string Category {get; set;}
    public int ID {get; set;}
}

我也有这样的课程

[DataObject]
public class Products
{
    [DataObjectMethod(DataObjectMethodType.Select)]
    public IEnumerable<Product> GetProducts()
    {
        return new List<Product>
        {
            new Product() {Name = "Product1", Category="category1", ID=1 },
            new Product() {Name = "Product2", Category="category2", ID=2 },
            new Product() {Name = "Product3", Category="category3", ID=3 },
            new Product() {Name = "Product4", Category="category4", ID=4 },
        };
    }
}

如果我有10个产品类实例,我将如何将这些实例中包含的信息添加到我的列表中?

示例:

[DataObjectMethod(DataObjectMethodType.Select)]
    public IEnumerable<Product> GetProducts()
    {
        return new List<Product>
        {
            new Product() {Name = "Instance1_Name", Category="Instance1_Category", ID=Instance1_ID },
            new Product() {Name = "Instance2_Name", Category="Instance2_Category", ID=Instance2_ID },
            new Product() {Name = "Instance3_Name", Category="Instance3_Category", ID=Instance3_ID },
            new Product() {Name = "Instance4_Name", Category="Instance4_Category", ID=Instance4_ID },
        };
    }

这是针对我试图从Telerik使用的报告解决方案,该报告使用对象数据源在报告上生成内容。

多亏了这篇文章的人的帮助,我才能得出解决方案:c#如何保留类实例之间的数据?

这是最终代码示例的样子:

 public class Product
{
    public string Name {get; set;}
    public string Category {get; set;}
    public int ID {get; set;}
    public static List<Product> ProductList =
        new List<Product>();
    [DataObjectMethod(DataObjectMethodType.Select)]
    public IEnumerable<Product> GenerateReport()
    {
        return ProductList;
    }
}

关键是将我的两个以前不同的类结合在一起,并使列表成为保留数据的静态成员。

最新更新