[英]Crystal Reports using Report and SubReport
假設我有以下內容:
public class MyObject
{
public string Name {get; set;}
public List<MySubObject> SubObjects {get; set;}
}
public class MySubObject
{
public string SubName {get; set;}
}
有沒有一種方法可以設置報告和子報告以顯示MyObjects
列表(每個報告都包含各自MySubObjects
子報告列表?
我認為您的類定義缺少List<MySubObject>
的名稱:
public class MyObject
{
public string Name {get; set;}
public List<MySubObject> SubObjects {get; set;}
}
public class MySubObject
{
public string SubName {get; set;}
}
您可以遍歷並填充數據集(您實際上不需要使用子報表,除非您的數據比上面描述的還要復雜):
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("SubReport");
foreach (MyObject myo in list_of_myobjects)
{
foreach (MySubObject myso in myo.SubObjects)
{
DataRow dr = dt.NewRow();
dr[0] = myo.Name;
dr[1] = myso.SubName;
dt.Rows.Add();
ds.Tables.Add(dt);
}
}
然后將水晶報表數據源指向數據集:
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
CrystalReport1 objRpt = new CrystalReport1();
objRpt.SetDataSource(ds.Tables[1]);
crystalReportViewer1.ReportSource = objRpt;
crystalReportViewer1.Refresh();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.