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());
            }         
        }

Crystal Report赢得';t显示在Crystal ReportViewer中

试试看。。在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";

现在它应该可以正常工作了。