2
我想將參數傳遞給我的報告。我嘗試過不同的方式,但每次都會提示我輸入參數值。我讀了很多類似的問題,但沒有爲我工作。Crystal Report參數不起作用AGAIN
P_REQUEST_ID
是一個靜態數字參數字段,用於過濾報表中的數據。
這裏是我的代碼:
// creating report
var reportDocument = new ReportDocument();
reportDocument.Load("ReportRequestPrice.rpt");
// creating report form
var dialog = new FormReport();
// not working
var paramFields = new ParameterFields();
var paramField = new ParameterField();
var paramDiscreteValue = new ParameterDiscreteValue();
paramField.Name = "P_REQUEST_ID";
paramDiscreteValue.Value = 1;
// not working
// paramDiscreteValue.Value = "1";
paramField.CurrentValues.Add(paramDiscreteValue);
paramFields.Add(paramField);
dialog.reportViewer.ParameterFieldInfo = paramFields;
/*
// not working
var param = new ParameterDiscreteValue();
param.Value = 1;
reportDocument.ParameterFields["P_REQUEST_ID"].CurrentValues.Add(param);
// not working
//reportDocument.ParameterFields[0].CurrentValues.Add(param);
*/
// setting datasource
reportDocument.SetDataSource(printshopDS);
reportDocument.Subreports[0].SetDataSource(printshopDS);
dialog.reportViewer.ReportSource = reportDocument;
dialog.ShowDialog(this);
指出「不工作」沒有幫助。 – 2013-02-14 00:51:36
你讀過什麼,爲什麼它沒有工作,你收到任何錯誤消息,等等。? – 2013-02-14 01:16:27
我剛剛修復了一個問題。 Crystal報表查看器具有一個名爲ReuseParameterValuesOnRefresh的屬性,該屬性爲False。將其設置爲True使參數正常工作。我猜在水晶代碼刷新的某個地方正在調用,因爲我嘗試手動刷新報告並在所有可能的地方設置參數而沒有結果。 PS沒有錯誤的消息。正如我寫的報告要求的參數值。 – karasi 2013-02-14 01:35:24