如何从 xml 字符串生成 rdlc 报告?

How to make rdlc report from xml string?

我正在尝试使用 asp.net c# 创建一个以 xml 字符串作为数据源的报表查看器 (RDLC REPORT) 这是 xml

"<Data><Result>success</Result><Rowset><Row><Date>08-09-2020</Date><TrNo>2015</TrNo><Debit>355</Debit><Credit></Credit><Remark>rem in 2020015-500 USD/Commession</Remark><Balance>-809.5</Balance></Row></Rowset></Data>"  

所以我添加了一个名为 st_DS

的数据集

this is a photo for the dataset

还创建了一个 rdlc 报告 rdlc report

我添加了以下代码行

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>  
      <rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer> 

这是背后的代码

string xml_resp = objCmd.Parameters["p_out"].Value.ToString();  
        XmlTextReader reader = new XmlTextReader(new System.IO.StringReader(xml_resp));  
        st_DS stt = new st_DS();  
        stt.ReadXml(new XmlTextReader(new System.IO.StringReader(xml_resp)));   
        ReportViewer1.ProcessingMode = ProcessingMode.Local;  
        ReportViewer1.LocalReport.ReportPath = Server.MapPath("st.rdlc");  
        ReportViewer1.LocalReport.DataSources.Clear();             
        ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("st_DS",stt.Tables[0])); 
        ReportViewer1.LocalReport.Refresh();  

当我 运行 代码时,它给我一个没有数据的空白报告 the text inside the red box is the response i got (XML)

任何人都可以帮我解决这个问题,我很困惑!谢谢

我找到了解决办法 只需添加以下数据集

 Dataset ds = new Dataset();
    ds.ReadXml(new XmlTextReader(new System.IO.StringReader(xml_resp)));
     ReportDataSource datasource = new ReportDataSource("st_DS", ds.Tables["Row"]); 

我必须合并报告数据源中的 2 个数据集才能使其正常工作!