對於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 smarttag上創建一個新的報告並選擇對象數據源,展開你的類並檢查Dog類作爲對象數據源。再次選擇您的reportviewer控件,並選擇新創建的報告,DogBindingSource會自動創建。在你的表單類中,將下面的代碼添加到類的頂部。您可以將公共部分Form1類使用後的第一行:表格{語句,但該構造
private DogBll _dogBll = new DogBll();
在formload()之前,添加:
this.DogBindingSource.DataSource = _dogBll.GetDogs();
對於Web窗體的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()的基礎上,在你的狗類中的3個公有屬性定義您的報告。在窗體中添加一個對象數據源,指向報告以使用對象數據源。最後,在對象數據源中設置GetDogs()的參數。
太棒了。去嘗試,並會讓你知道。 – 2009-05-04 17:38:51