2

と呼ばれるビジネス オブジェクトが"TeamMaster"あり、そこで Id、Name、および Flg の 3 つのプロパティを定義します。私の .rdlc レポートではTeamMaster、データ ソースとしてオブジェクトを適用します。レポート ビューアー コントロールを追加し、レポートをローカル レポートとして定義するフォームのページ読み込みイベントに次のコードを記述します。

using (RDLC_DEMO_DBEntities objdatabase = new RDLC_DEMO_DBEntities())
        {
            lstTeamMstr = objdatabase.TeamMasters.ToList();
        }
        this.TeamMasterBindingSource.DataSource = lstTeamMstr;
        this.reportViewer1.RefreshReport();

デバッグを使用してこのコードをチェックすると、6 つのレコードが表示されますTeamBindingSourceが、Windows レポートでは 6 つの空白行しか表示されません。何が問題なのですか?

4

1 に答える 1

1

このコードに従ってください: >>

string path = HttpContext.Current.Server.MapPath(Your Report path);
ReportViewer1.Reset(); //important
ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;

// Add sub report even handler if you need  
***ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(MySubreportProcessingEventHandler);***
LocalReport objReport = ReportViewer1.LocalReport;
objReport.ReportPath = path;
// Add Parameter If you need 
List<ReportParameter> parameters = new List<ReportParameter>();
parameters.Add(new ReportParameter("Name", Value));
ReportViewer1.LocalReport.SetParameters(parameters);
ReportViewer1.ShowParameterPrompts = false;
ReportViewer1.ShowPromptAreaButton = false;
ReportViewer1.LocalReport.Refresh();

//Add Datasourdce
ReportDataSource reportDataSource = new ReportDataSource();
reportDataSource.Name = "Datasource Name Used due to report design";
reportDataSource.Value = DataSourceValue(Your object data-source);
objReport.DataSources.Add(reportDataSource);
objReport.Refresh();

ここ サブレポート イベント ハンドラー コード

private void MySubreportProcessingEventHandler(object sender,  SubreportProcessingEventArgs e)
{
 //You can get parameter from main report 
int paramname = int.Parse(e.Parameters[0].Values[0].ToString());
//You can also add parameter in sub report if you  need like main report

//Now add sub report data source     
 e.DataSources.Add(new ReportDataSource("DataSource Name",DataSourceValue)));
}

ドリルスルー レポートを作成する必要がある場合は、このリンクをクリックしてドリルスルー レポートを作成してください。

于 2012-04-30T07:15:27.130 に答える