-1
嗯,我有表在我Report.rdl,我想生成它dinamicly像GridView的傳遞參數在報表查看報告,問題
Reports.dsReport ds = new dsReport();
Reports.dsReportTableAdapters.sp_PaymentsTableAdapter daInformation =
new dsReportTableAdapters.sp_PaymentsTableAdapter();
try
{
daInformation .Fill(ds.sp_Procedure
, ID
, Name
, Number
, startDate
, endDate
, payerID);
}
catch { }
DataTable dtPaymentInfo = ds.Tables["sp_Payments"];
List<ReportParameter> parameters = new List<ReportParameter>();
parameters.Add(new ReportParameter("PeriodStart", startDate.Value.ToString("yyyy-MM-dd HH:mm"));
parameters.Add(new ReportParameter("PeriodEnd", endDate.Value.ToString("yyyy-MM-dd HH:mm"));
foreach(DataTable item in dtPaymentInfo.Rows)
{
for(int i = 0; i < item.Rows.Count; i++)
{
int status = (int)item.Rows[i][2];
string paymentName;
if(status == 0)
paymentName=status.ToString() + " EURO";
if(status == 1)
paymentName=status.ToString() + " DOLLAR";
if(status == 2)
paymentName=status.ToString() + " Pound";
parameters.Add(new ReportParameter("PaymentName", paymentName);
}
}
rpvPaymentInformation.LocalReport.SetParameters(parameters);
ReportDataSource rds = new ReportDataSource();
rds.Name = "DataSet1";
rds.Value = dtPaymentInfo;
rpvPaymentInformation.LocalReport.DataSources.Clear();
rpvPaymentInformation.LocalReport.DataSources.Add(rds);
rpvPaymentInformation.LocalReport.Refresh();
rpvPaymentInformation.ShowReportBody = true;
這是頁面的代碼隱藏
而當我的表控制生成一些數據,它填充[狀態+「歐元」]
但在數據庫狀態也有1,2值。
我該如何解決這個問題? :(
您能否改述問題的最後部分? y清楚問題是什麼。 – 2011-03-23 14:44:26
問題是表控件顯示狀態字段的方式嗎?還是說你發送的參數包括導致問題的「美元」和「磅」值? – 2011-03-23 16:41:00
@巴拉 - [R 以及在數據庫中的表有狀態字段int型的 和這裏的ASP頁面,它使用的ReportViewer要過濾這樣的 此狀態,如果狀態= 0,那麼肥大是狀態+「歐元」 案例狀態= 1狀態+「美元」 和最後如果狀態= 3狀態+「英鎊」 ,我想用報表參數,如果可能的話。 問題是在報告中只顯示狀態+「歐元」 但在表中也有狀態值爲1和2的值爲 ,並且必須顯示狀態+「美元」和狀態+「磅」,但它沒有,儘管我從數據表中檢索這樣的值(1或2) – west 2011-03-24 09:29:36