亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 JSON 數組創建 RDLC 報告

使用 JSON 數組創建 RDLC 報告

C#
絕地無雙 2023-07-22 16:13:42
我正在嘗試為我的項目創建RDLC帶有數組的報告JSON。該JSON數組來自 API。我已經RDLC使用數據庫作為Dataset直接訪問的方式制作了報告SQL database,但是如何處理來自JSON數組的API。我試圖JSON在非類型化數據表上獲取數組,然后將其合并到類型化數據表。那么應該顯示在 上dataset.xsd,但事實并非如此。public partial class WebForm2 : System.Web.UI.Page{    [WebMethod]    [System.Web.Script.Services.ScriptMethod()]    protected void Page_Load(object sender, EventArgs e)    {        test();    }    public void test()    {        WebClient client = new WebClient();        string strJSON = client.DownloadString("Json.txt");        string chk = strJSON.Replace("\\", "");        chk = chk.Substring(1, chk.Length - 2);        DataTable dtUsingMethod = GetJSONToDataTableUsingNewtonSoftDll(chk);        DataSet1.test_tableDataTable tbl = new DataSet1.test_tableDataTable();        tbl.Merge(dtUsingMethod);    }    public static DataTable GetJSONToDataTableUsingNewtonSoftDll(string JSONData)    {        DataTable dt = (DataTable)JsonConvert.DeserializeObject(JSONData, (typeof(DataTable)));        return dt;    }}預期結果是我想使用 JSON 數組生成報告。
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

好吧,我找到了一個對我有用的答案。我將其發布在這里希望對其他人也有幫助。這里的問題是我們需要 RDLC 報告的數據源。由于我們無法使用 Sql 數據庫,因此我們必須創建自己的自定義數據源。


步驟1.添加類文件。


步驟 2. 類文件中的代碼:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using Newtonsoft.Json;

using Newtonsoft.Json.Linq;

using Newtonsoft.Json.Converters;

using System.Text;

using System.Runtime.Serialization.Formatters;

using System.IO;

using System.Data;

using System.Xml.Serialization;

using System.Runtime.Serialization;

using Newtonsoft.Json.Serialization;

using System.Web.Services;

using System.Net;


namespace Batch_report

{

    public class batch_data 

    {

        public string plant_sl_no { get; set; }

        public string batch_no { get; set; }

        public string batch_no_sl { get; set; }

        public string batch_index { get; set; }

        public string batch_date { get; set; }

        public string recp_id { get; set; }

        public string recp_name { get; set; }

        public string pdt_qty { get; set; }

        public string truck_id { get; set; }

        public string cust_id { get; set; }

        public string load_sent_qty { get; set; }

        public string site { get; set; }

    }

    public class Custom_batch

    {

        [WebMethod]

        [System.Web.Script.Services.ScriptMethod()]

        public static List<batch_data> GetEmployeeName()

        {

            //List<string> abc = new List<string>();

            //string[] arr;

            WebClient client = new WebClient();

            string info = client.DownloadString("http://json.txt");

            string chk = info.Replace("\\", "");

            chk = chk.Substring(1, chk.Length - 2);


            List<batch_data> obj = new List<batch_data>();

            obj = JsonConvert.DeserializeObject<List<batch_data>>(chk);


            return obj;

        }

    }

}

步驟3.構建你的類文件,你將得到一個batch_report.dll文件。將此 .dll 添加到項目的引用文件夾中。


步驟 4. 從工具箱添加報告或報告向導。添加時,將打開一個窗口,詢問數據集。命名您的數據集,然后在數據源中從下拉列表中選擇batch_report。在“可用數據集”中,選擇您從中獲取數據的方法,在我的例子中是來自 Custom_batch 類,方法是 - GetEmployeeName()。


步驟5.單擊下一步直到完成,之后您也可以設計您的報告。


查看完整回答
反對 回復 2023-07-22
  • 1 回答
  • 0 關注
  • 224 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號