C#Telerik在设计时dataschema报告没有数据源

时间:2013-05-23 09:21:09

标签: c# telerik report

我使用vs 2010和telerik报告2013年第1季度

使用下一个代码将数据表绑定到报告。

Reports.Report1 report = new Reports.Report1();

Telerik.Reporting.ObjectDataSource objectDataSource = new Telerik.Reporting.ObjectDataSource();
objectDataSource.DataSource = CreateData().Tables[0];
report.DataSource = objectDataSource;          

Telerik.Reporting.InstanceReportSource reportSource = new Telerik.Reporting.InstanceReportSource();
reportSource.ReportDocument = report;
TelRptViewer.ReportSource = reportSource;

我的报告包含一个包含3列的简单表数据项。 我已经在帮助中阅读了这个主题。 Working With Data at Design Time-Data source available only at runtime

“当您无法在设计时获取报表的数据源或者希望避免在设计时将实际数据加载到Visual Studio中时,此方法很有用。在这种情况下,您只需要模拟数据以启用报表设计器显示任何数据模式。这将使您能够调整报告的布局并将报告项绑定到可用的数据字段,而实际数据将仅在运行时在NeedDataSource事件或实际应用程序中加载。“

在简单的reportviewer中,有一个xsd证明了报告的数据模式。 在这个查看器中,如何制作这种数据模式或类似的?或者有另一种方法可以做到这一点?

THX。

4 个答案:

答案 0 :(得分:0)

您从未说过是否在Report1类中添加了报表项(例如TextBoxes)。这些文本框需要具有绑定表达式作为值,即= Fields.MyDataColumn1。

只有这样,报告才真正显示数据。您还可以添加对TelRptViewer.RefreshReport()的调用;这是某些观众(例如Windows窗体)所需的

祝你好运!

答案 1 :(得分:0)

您可以在设计时将Telerik Reports绑定到objectdatasource,并使用Visual Designer将字段直接拖到REport 使用Visual Studio或新的Desginer创建和运行报表,同时将其绑定到objectdatasource:您只需将连接字符串硬编码到数据方法的类中。在该方法内部使用连接字符串。查看我的博客:http://flying2mind.blogspot.com/2013/10/creatingrunning-telerik-reports-in.html

http://flying2mind.blogspot.com/2013/07/telerik-report-doesnt-see-fields-of.html

答案 2 :(得分:0)

基本上,您可以在报告的NeedDataSource事件中添加数据源代码并设置数据源。当没有报告的数据源时,使用NeedDataSource事件。

答案 3 :(得分:0)

private void Report1_NeedDataSource(object sender, EventArgs e)
{
    Telerik.Reporting.Processing.Report rpt = (Telerik.Reporting.Processing.Report)sender;
    this.Report1DS.Parameters[0].Value = your value to be passed to data source..;
    // Similarly you can add more values of parameters.
    rpt.DataSource = Report1DS;
}