0

私は vs 2010 と telerik レポート 2013 Q1 を使用しています

次のコードを使用して、データテーブルをレポートにバインドします。

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 つの列を持つ単純なテーブル データ項目が含まれています。このトピックは既にヘルプで読みました。 設計時にデータを操作する - データ ソースは実行時にのみ使用可能

「このアプローチは、デザイン時にレポートのデータ ソースを取得できない場合、またはデザイン時に実際のデータを Visual Studio にロードすることを避けたい場合に役立ちます。この場合、レポート デザイナーがデータを表示できるようにするためだけに、データをモックする必要があります。これにより、レポートのレイアウトを調整し、レポート アイテムを使用可能なデータ フィールドにバインドできますが、実際のデータは実行時に NeedDataSource イベントまたは実際のアプリケーションでのみ読み込まれます。"

単純なレポート ビューアーには、レポートのデータ スキーマを証明する xsd がありました。このビューアでは、このデータ スキーマなどをどのように作成できますか? または、これを行う別の方法はありますか?

どうも。

4

4 に答える 4

0

Report1 クラスにレポート アイテム (TextBox など) を追加したかどうかについて、あなたは決して言いませんでした。これらのテキスト ボックスには、Value としてバインド式が必要です。つまり = Fields.MyDataColumn1 です。

そうして初めて、レポートに実際にデータが表示されます。TelRptViewer.RefreshReport(); への呼び出しを追加することもできます。これは、一部のビューアー (Windows フォームなど) に必要です。

幸運を!

于 2013-05-28T14:24:49.487 に答える
0

基本的に、レポートの NeedDataSource イベントにデータソース コードを追加して、データソースを設定できます。レポートのデータ ソースがない場合は、NeedDataSource イベントが使用されます。

于 2014-02-07T12:27:53.960 に答える
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;
}
于 2014-02-10T12:13:39.180 に答える