2012-03-21 74 views
0

我想知道为什么我的报告不会出现在报告查看器中? 我使用这段代码从我的主窗体的listview中生成我的报告。Crystal Report将不会出现在Crystal ReportViewer

没有运行时错误,它不会出现在报告查看器中。

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

回答

0

试试这个看到..在designer.cs文件中,搜索'this.MasterReport'。你应该看到'this.MasterReport'= false;' 本声明下的几行,你会看到下面的代码行类似下面的一个:

this.StyleSheet.Add(new .StyleSheetRule("font-size font-weight:", "Heading3", "Normal")); 

在此行中,添加floowing代码,改变yourreport到报表的名称:

this.ReportStart += new System.EventHandler(this.yourreport_ReportStart); 

编译代码并运行它。

0

1. 找出什么是报表frmReportDVDList设计的表名称或视图名称或xsd。

2.

在你的数据集的表的名称使用完全相同的名称。例如,如果在上述步骤中名称是“dvdtable”,则将该名称设置为您的数据集表。

DS.Tables[0].Name="dvdtable"; 

现在应该正常工作。