报告查看器问题

时间:2012-01-30 03:16:57

标签: asp.net

我有一个错误,如何提前解决这个问题:)数据源1显示重载解析失败,因为没有可访问的“新”更具体的参数。

    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 个答案:

答案 0 :(得分:1)

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

另外,引用该链接的评论:

  

值可以是DataTable的实例,IEnumerable值(for   例如,DataViewArray)或IDataSource

问题是您尝试传递DataSet对象,这既不是DataTable,也不是IEnumerableIDataSource

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