C# 如何通过datatable/dataset加载reportviewer

C# 如何通过datatable/dataset加载reportviewer,c#,datatable,dataset,reportviewer,C#,Datatable,Dataset,Reportviewer,要加载reportviewer,请执行以下操作,但问题是控件不显示数据。我创建了一个datatable,然后创建了一个dataset,并将datatable添加到dataset中,以使dataset从reportviewer的源代码中删除。此外,我还获得了一个xml文件,以防我可以将其添加为reportviewer的源代码,以防有可能或有更好的解决方案来解决我的问题 public DataTable ListarMenuDataTable() { usin

要加载reportviewer,请执行以下操作,但问题是控件不显示数据。我创建了一个datatable,然后创建了一个dataset,并将datatable添加到dataset中,以使dataset从reportviewer的源代码中删除。此外,我还获得了一个xml文件,以防我可以将其添加为reportviewer的源代码,以防有可能或有更好的解决方案来解决我的问题

public DataTable ListarMenuDataTable()
        {
            using (OleDbConnection cn = new OleDbConnection(ConfigurationManager.ConnectionStrings["App"].ToString()))
            {
                OleDbDataAdapter da = new OleDbDataAdapter("SELECT NombreNodo, IdentificadorNodo, IdentificadorPadre,Formulario FROM Menu", cn);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }

private void rbClientes_CheckedChanged(object sender, EventArgs e)
        {

            DataTable dt = new DataTable();
            dt = this.oClienteDAO.ListarMenuDataTable();
            dt.TableName = "dtMenu";

            DataSet dsMenu = new DataSet();
            dsMenu.Tables.Add(dt);

            if (System.IO.File.Exists(System.AppDomain.CurrentDomain.BaseDirectory + "\\Recursos\\Reportes\\Xml_" + rbClientes.Text + ".xml") == false)

            {
                dsMenu.WriteXml(System.AppDomain.CurrentDomain.BaseDirectory + "\\Recursos\\Reportes\\Xml_" + rbClientes.Text + ".xml", XmlWriteMode.WriteSchema);
            }

            this.reportViewer1.ProcessingMode = ProcessingMode.Local;
            this.reportViewer1.LocalReport.ReportPath = System.AppDomain.CurrentDomain.BaseDirectory + "\\Recursos\\Reportes\\Rpt_" + rbClientes.Text + ".rdlc";
            this.reportViewer1.LocalReport.DataSources.Clear();
            ReportDataSource source = new ReportDataSource("dtMenu",dsMenu.Tables[0]);
            reportViewer1.LocalReport.DataSources.Add(source);
            this.reportViewer1.RefreshReport();
        }

你能详细说明一下你的代码是如何工作的吗?你在期待什么,到底发生了什么?如果您遇到异常,请发布它发生的行和异常详细信息。我希望reportviewer显示数据,但实际上它没有显示任何内容。此外,datatable由一个函数填充,如下面代码中所示。