2012-01-19 79 views
0

我開始一個新項目。然後我添加一個空白表單,然後將ReportViewer控件添加到表單。然後,我將控件停靠在表單上。爲什麼我的ReportViewer不工作?

接下來,我添加一個新的數據集(DataSet1.xsd)到項目。然後我打開服務器資源管理器並將特定的視圖(不是表格)拖到DataSet1的表單中。然後我可以看到數據集窗體上顯示的視圖中的所有字段。如果我選擇,我可以預覽數據並驗證Fill,GetData()函數是否工作(他們也可以,我可以看到所有數據)。 然後我回到我的主窗體(Form1)並選擇設計一個新的報表。我告訴報告嚮導要使用的數據源,然後將所需的字段拖到行分組框和值框中。我點擊下一步,選擇我的報告和風格的佈局。

最後,我回到Form1並選擇報表查看器控件所需的報表。我建立並運行該項目。窗體顯示,但查看器控件中不顯示任何報告。對於我的生活,我無法弄清楚爲什麼。我在某處跳過了一步嗎?我可以發誓,這是我之前做的一個簡單的報告,但它似乎沒有工作。

我甚至試圖通過調試數據集的TableAdapter的填充方法,這似乎是它卡住的地方。但是,我可以使用相同的表格適配器填充例程來預覽數據。我沒有修改任何代碼,所以我不知所措。有任何想法嗎?

FILL代碼:

private void Form1_Load(object sender, EventArgs e) 
    { 
     // TODO: This line of code loads data into the 'DataSet1.CAV_MBRHISTDETL' table. You can move, or remove it, as needed. 
     this.CAV_MBRHISTDETLTableAdapter.Fill(this.DataSet1.CAV_MBRHISTDETL); 

     this.reportViewer1.RefreshReport(); 
    } 

SQL填補數據集:

SELECT 
      MBRSEP, 
      LOCATION, 
      BILLDATE, 
      READDATE, 
      DUEDATE, 
      READTYPE, 
      BILLTYPE, 
      CREDITCODE, 
      BILLMOYR, 
      METERREAD, 
      KWH 
FROM  CAR1.CAV_MBRHISTDETL 
WHERE  BILLTYPE = '09' AND 
      BILLMOYR <> '9999' 
      AND ROWNUM <= 100 

連接字符串:

connectionString="Dsn=UPN2;uid=car1;dbq=SEDC;dba=W;apa=T;exc=F;fen=T;qto=T;frc=10;fdl=10;lob=T;rst=T;btd=F;bnf=F;bam=IfAllSuccessful;num=NLS;dpm=F;mts=T;mdi=F;csr=F;fwc=F;fbs=64000;tlo=O;mld=0;oda=F" 
+0

您是否使用telerik報告? –

+0

你可以發佈你的代碼,你正在做的填充..也爲您傳遞的SQL .. ReportViewer的連接字符串如何定義..?你使用什麼版本的.net ReportViewer ..這是與ActiveReports? – MethodMan

+0

我使用的是VS2010,因此無論報表查看器版本是否包含在內,那就是我正在使用的。有沒有辦法確定版本?這是一個常規的winforms應用程序,我只使用表單,reportviewer控件,表格視圖和數據集。 – Kevin

回答

1

我想我已經找到了我的問題。在Visual Studio 2010中,我點擊'Debug'然後點擊'Exceptions',並在結果窗口中檢查每個異常。不知何故,我認爲,一個錯誤正在發生,我沒有被意識到這一點。

果然,當我再次運行我的報告程序時,我收到一條錯誤消息,指出我的密碼爲空。想象一下!當我在dataset.xsd屏幕中預覽數據時,必須將我的用戶ID和密碼放入,但是當我運行它時,程序沒有要求輸入密碼。我也想知道爲什麼這個程序不僅僅是因爲一個錯誤而完全停止,而是坐在那裏。無論如何,當我在連接字符串中提供密碼並重新運行時,一切正常。呼!