Crystal Report赢得';t显示在Crystal ReportViewer中
本文关键字:Crystal 显示 ReportViewer Report 赢得 | 更新日期: 2023-09-27 18:28:26
我想知道为什么我的报告不会出现在报告查看器中?我使用此代码从主表单中的列表视图生成报告。
没有运行时错误,它只是不会出现在报表查看器中。
public void PrintDVDList(frmMain frmMain)
{
try
{
var Report = new rptDVDList();
DataRow row = null;
DataSet DS = new DataSet();
DataTable DT = new DataTable();
DS.Tables.Add("tblDVDInventory");
var _with1 = DS.Tables[0].Columns;
_with1.Add("ItemCode");
_with1.Add("Title");
_with1.Add("Genre");
_with1.Add("Film");
_with1.Add("YearReleased");
_with1.Add("Classification");
_with1.Add("NumberOfDiscs");
foreach (ListViewItem LVI in frmMain.lvwInventory.Items)
{
row = DS.Tables[0].NewRow();
row[0] = LVI.Text.ToString();
row[1] = LVI.SubItems[1].Text.ToString();
row[2] = LVI.SubItems[2].Text.ToString();
row[3] = LVI.SubItems[3].Text.ToString();
row[4] = LVI.SubItems[4].Text.ToString();
row[5] = LVI.SubItems[5].Text.ToString();
row[6] = LVI.SubItems[6].Text.ToString();
DS.Tables[0].Rows.Add(row);
}
var frmReportDVDList = new frmReportDVDList();
Report.SetDataSource(DS.Tables[0]);
frmReportDVDList.crvDVDList.ReportSource = Report;
frmReportDVDList.crvDVDList.Refresh();
}
catch (Exception error)
{
MessageBox.Show(error.ToString());
}
}
试试看。。在designer.cs文件中,搜索"this.MasterReport"。您应该会看到"this.Master Report"=false;'在这个语句下面的几行中,您将看到与下面的代码类似的代码行:
this.StyleSheet.Add(new .StyleSheetRule("font-size font-weight:", "Heading3", "Normal"));
在这一行下,添加floowing代码并将您的报告更改为您的报告名称:
this.ReportStart += new System.EventHandler(this.yourreport_ReportStart);
编译代码并运行它。
1。找出设计报表frmReportDVDList的表名、视图名或xsd是什么。
2.
使用与数据集中表的名称完全相同的名称。例如,如果在上面的步骤中名称为"dvdtable",则将此名称设置为数据集表。
像
DS.Tables[0].Name="dvdtable";
现在它应该可以正常工作了。