2012-01-30 15 views
1

私はこの問題を解決する方法を事前に知っています:) datasource1は、アクセス可能な 'new'が引数に固有のものではないため、オーバーロードの解決に失敗したことを示しています。 DataSetオブジェクトのあなたのdsインスタンスがReportDataSource(String, Object)コンストラクタの要件と一致しないためですレポートビューアの問題

ReportViewer1.Visible = True 

    Dim thisDataSet As New DataSet() 

    Dim adapCategory As DataSetParameterTableAdapters.mCategoryTableAdapter = New DataSetParameterTableAdapters.mCategoryTableAdapter 
    Dim ds As DataSetParameter.mCategoryDataTable = New DataSetParameter.mCategoryDataTable() 
    adapCategory.Fill(ds, Me.DropDownList1.SelectedValue) 

    Dim datasource1 As New ReportDataSource("DataSetParameter_mCategory", ds) 
    ReportViewer1.LocalReport.DataSources.Clear() 
    ReportViewer1.LocalReport.DataSources.Add(datasource1) 

    ReportViewer1.LocalReport.Refresh() 

答えて

1

this MSDN reference for that constructorを参照してください。そのリンクからの発言を引用

また、:

DataTableのインスタンス、IEnumerable値( 例えば、DataViewまたはArray)、又はIDataSourceであってもよいです。

問題は、あなたがDataSetオブジェクトを渡ししようとしているし、それはどちらもDataTableではない、またそれがIEnumerableまたはIDataSourceを実装ありません。

つまり、DataSetオブジェクトをこのコンストラクタに渡すことはできません。その解決方法は、のうちDataTableを適切に引き出し、そのDataTableインスタンスをコンストラクタに渡すことです。

関連する問題