对于 winform reportviewer:包括以下代码
public class Dog
{
int legs;
public int Legs
{
get { return legs; }
set { legs = value; }
}
string name;
public string Name
{
get { return name; }
set { name = value; }
}
string breed;
public string Breed
{
get { return breed; }
set { breed = value; }
}
}
public class DogBll
{
List<Dog> myDog;
public DogBll()
{
myDog = new List<Dog>();
myDog.Add(new Dog() { Legs = 10, Name = "mimi", Breed = "german" });
myDog.Add(new Dog() { Legs = 4, Name = "momo", Breed = "english" });
}
public List<Dog> GetDogs()
{
return myDog;
}
}
构建您的解决方案,在您的表单中添加一个reportviewer 控件,在reportviewer 智能标签上,创建一个新报表并选择对象数据源,展开您的类并检查Dog 类作为您的对象数据源。再次选择您的reportviewer 控件,然后选择新创建的报表,会自动创建一个DogBindingSource。在您的表单类中,将以下代码添加到类的顶部。您可以在 public partial class Form1 之后使用第一行:Form { 语句,但在构造函数之前
private DogBll _dogBll = new DogBll();
在 formload() 上,添加:
this.DogBindingSource.DataSource = _dogBll.GetDogs();
对于 webform reportviewer:您应该提供一个返回 Dog 列表的函数,在这个类中它应该包含一个默认构造函数。
namespace MyNS
{
public class Dog
{
public int Legs { get; set; }
public string Name { get; set; }
public string Breed { get; set; }
}
public class DogBll
{
public DogBll()
{
}
public List<Dog> GetDogs(List<Dog> myDog)//make sure you set the parameter in object datasource
{
return myDog;
}
}
}
添加报表查看器向导控件,选择数据源作为刚刚创建的新函数 GetDogs(),根据 Dog 类中的 3 个公共属性定义报表。在表单中添加对象数据源,将报表指向使用对象数据源。最后,在对象数据源中设置 GetDogs() 的参数。