4

這是在Visual Studio 2008中正常工作,但由於我已切換到Visual Studio 2010和Crystal Reports for Visual Studio 2010,我傳遞的參數將被忽略。如何將參數傳遞給Visual Studio 2010的Crystal Report?看起來像他們被忽略

它們顯示在報告中,只是在選擇公式時忽略!這是我創建報告和傳遞參數的代碼。

private void Prepare() 
    { 
     var reportDocument = new ReportDocument(); 

     string reportPath = string.Format(
      "{0}\\{1}", 
      Globals.FormPath, 
      this.FormTemplate.Filename); 

     reportDocument.Load(reportPath); 

     ParameterDiscreteValue parameter; 

     foreach (var control in this.FormTemplateFieldControls) 
     { 
      switch (control.FormTemplateField.DataType) 
      { 
       case FormFieldDataType.Date: 
        this.AddParameterForDateTime(
         reportDocument, 
         control.FormTemplateField.Name, 
         (DateTime)control.EditValue); 
        break; 
       case FormFieldDataType.DateTime: 
        this.AddParameterForDateTime(
         reportDocument, 
         control.FormTemplateField.Name, 
         (DateTime)control.EditValue); 
        break; 
       case FormFieldDataType.Time: 
        this.AddParameterForDateTime(
         reportDocument, 
         control.FormTemplateField.Name, 
         (DateTime)control.EditValue); 
        break; 
       case FormFieldDataType.Guid: 
        this.AddParameterForGuid(
         reportDocument, 
         control.FormTemplateField.Name, 
         (Guid)control.EditValue); 
        break; 
       default: 
        this.AddParameterForString(
         reportDocument, 
         control.FormTemplateField.Name, 
         control.EditValue.ToString()); 
        break; 
      } 
     } 

     this.SetConnectionInfo(reportDocument); 

     var frm = new FormViewer(); 

     frm.Report = reportDocument; 

     frm.ShowDialog(); 

     frm.Dispose(); 

     this.Close(); 
    } 

當我從設計器運行報告時,它工作得很好。您可以看到參數正在傳遞,因爲我在報告中顯示了它們。

alt text

對於我的報道說,從存儲過程運行參數似乎傳遞就好了,它只是所有表組成的。

對於它的價值,這是我的選擇公式:

{employee.HireDate} >= {?StartDate} And {employee.HireDate} <= {?EndDate} 
+0

最新版本的Crystal Reports即使我只是試圖讓水晶報表提示他們沒有得到傳遞的參數。 – mattruma 2010-11-17 14:53:14

+0

真正奇怪的是,如果我逐步瀏覽代碼,並在運行時查看參數的值,它會正確顯示。 – mattruma 2010-11-17 15:00:08

+0

所以我切換了我的報告使用存儲過程,它的工作......但我不應該這樣做......呃! – mattruma 2010-11-17 21:28:59

回答

1

這已經解決了與Visual Studio 2010中

0

當你說「他們不獲得通過」,有什麼獲得通過?他們是空白的嗎?

你可能會回顧一下參數本身,只是爲了微笑,嘗試給他們一個不同的名字,一些額外的獨特的東西。有些事情可能會隨着其他報告設置或參數定義的方式而發生。

相關問題