MVVM LightでWPF MVVMスタイルで実行されたプログラムを継承しました。 SQLサーバーからViewModelsに引き込まれたデータからプログラムから出てくるレポートが必要です。私はMVVMに固執することを心配していませんが、私はそれを動作させる必要があるだけです。WPF with report viewerバインディングの問題
私はViewModelのうちの1つを既にレポート用に自分のデータとして作成しようとしています。これまでのところ、私は、メインのボタンのクリックで新しいウィンドウが開きますDemoFormと呼ばれる形式を持つDATASET1にデータセットで
をCalibrationViewModelデータソースを使用しているReport1.rdlcという名前のレポートを作成しましたWPFページにレポートビューア(reportViewer1)があります。これは、レポートを表示するために使用されます。 reportViewerはCalibrationViewModelBindingSourceにバインドされています。私はデータバインディングを逃すどこイムのように感じる
this.reportViewer1.RefreshReport();
を持ってDemoForm_Loadで
。私は、レポートをプルしようとすると、私はrdlc上のテーブルに移入しようとした3つのフィールドのヘッダーがあります。私は新しいフォームを開くときに、レポートのデータソースを設定する必要があると思います。
私はのForm_Loadに、この部分を追加したが、何のわかりませんよ置くere - reportDataSource1.Value = dataset;/*ここでデータソースを使用する* /私のソースはviewModelオブジェクトです –
レポートでは、特定のタイプのデータセット "DataSet1"を設定しました。値をその型のインスタンスに設定します。質問で "CalibrationViewModel"と言いましたので、そのインスタンスになると思います。 –
CalibrationViewModel1を値として使用すると、現在のコンテキストに存在しないというエラーが表示されます。これは私がform_loadに入れたものです。 Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource(); reportDataSource1.Name = "DataSet2"; reportDataSource1.Value = CalibrationViewModel1; reportViewer1.LocalReport.DataSources.Add(reportDataSource1); reportViewer1.RefreshReport(); –