2012-01-30 198 views
1

我有一个错误如何解决此事先感谢:) datasource1显示重载解析失败,因为没有可访问的'新'是更具体的有参数。报告查看器问题

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

那是因为你的DataSet对象的ds实例不匹配的ReportDataSource(String, Object)构造的要求。请参阅this MSDN reference for that constructor

此外,引用从该链路的备注:

值可以是DataTable一个实例,一个IEnumerable值( 例如,DataViewArray)或IDataSource

的问题是你想传递一个DataSet对象,既不是DataTable,也不实施IEnumerableIDataSource

换句话说,您不能将DataSet对象传递给此构造函数。解决办法是将适当的DataTableDataSet中取出,并将DataTable实例传递给构造函数。