2009-12-24 78 views

回答

0

進出口你問不知道到底是什麼,但這裏是設置一個創建,制定並通過PARAMS到水晶報表

負載的方式從您的數據庫中提取標準數據集。 使用DateSet.WriteXmlSchema創建一個Xml架構。 使用visal studio工具Xsd.exe創建一個類型安全的DataSet。 將其導入到您的項目中。 從數據庫中將數據加載到新的類型安全數據集中,並將其設置爲報告數據源。

下面的代碼,那麼您可以把params

Private Sub foo() 
    Dim parameterValues As New ParameterValues() 
    parameterValues.Add("MyValue") 
    MyDataSourceName.DataDefinition.ParameterFields("MyParamName").ApplyCurrentValues(parameterValues) 
End Sub 

我希望這有助於

0

您可以使用您要使用的數據的DataTable作爲數據設置或者完全相同設置如下代碼工作沒有任何問題。

的ReportDocument cryRpt =新衆議員

ortDocument(); 
Cls_Bl_CalibrationHeader clCalibrationHeader = new Cls_Bl_CalibrationHeader(); 
ParameterFieldDefinitions crParameterFieldDefinitions; 
ParameterFieldDefinition crParameterFieldDefinition; 
ParameterValues crParameterValues = new ParameterValues(); 
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue(); 
DataTable DT = null; 

reportPath = "\\Report.rpt"; 
cryRpt.Load(reportPath); 

    DT = clClassName.M_GetByIDDate(sqlStr);       
    cryRpt.SetDataSource(DT); 
    DT = clClass.GetSubReportInfo(); 
    cryRpt.OpenSubreport("SubReport").SetDataSource(DT); 

crParameterDiscreteValue.Value = 1; 
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields; 
crParameterFieldDefinition = crParameterFieldDefinitions["Parameter", "SubReport"]; 
crParameterFieldDefinition.CurrentValues.Clear(); 
crParameterValues = crParameterFieldDefinition.CurrentValues; 
crParameterValues.Add(crParameterDiscreteValue); 
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues); 


crystalReportViewer1.ReportSource = cryRpt; 
crystalReportViewer1.DisplayGroupTree = false; 
crystalReportViewer1.Refresh(); 
0

:d我面臨着同樣的問題,然後我發現,如果你之前主要設置一個數據集子報表是那麼好。

相關問題