繁体   English   中英

用 Json Vb.net 填写 RDLC 报告

[英]Fill RDLC report with Json Vb.net

我正在尝试使用 Json 填写 RDLC 报告,但它不返回除列之外的任何内容。

它是如何显示的

我得到了这个 Json 结果:

[
    {
        "ID": "11",
        "grade": "1",
        "netweight": "10.00",
        "code": "1",
        "initials": "CFF",
        "specie": "Tilapia",
        "scientificname": "Pende",
        "activity": "Offloading Truck",
        "voyage": "CFF2208",
        "vessel": "CHICOA FISH FARM",
        "currentbatch": "0",
        "tprocessID": "PRC01",
        "batchno": "123"
    }
]

我创建了一个 Json 属性:

Namespace Data

    Public Class Tilapia
        <JsonProperty("grade")>
        Public Property grade As String

        <JsonProperty("netweight")>
        Public Property netweight As Decimal

        <JsonProperty("specie")>
        Public Property specie As String

        <JsonProperty("voyage")>
        Public Property voyage As String

        <JsonProperty("batchno")>
        Public Property batchno As String

        <JsonProperty("scientificname")>
        Public Property scientificname As String

    End Class

获取数据:

Public Class Custom_batch

    Public Shared Function GetTilapia() As List(Of Tilapia)
        Dim request As HttpWebRequest
        Dim response As HttpWebResponse = Nothing
        Dim reader As StreamReader
        request = DirectCast(WebRequest.Create("http://127.0.0.160/v2/api/tilapia/tilapia/read_distinct.php"), HttpWebRequest)
        request.Headers("Authorization") = "46464-44874-444469-554777"
        response = DirectCast(request.GetResponse(), HttpWebResponse)
        reader = New StreamReader(response.GetResponseStream())
        Dim rawresp As String
        rawresp = reader.ReadToEnd()
        Dim results As List(Of Tilapia) = New List(Of Tilapia)()
        results = JsonConvert.DeserializeObject(Of List(Of Tilapia))(rawresp)
        Return results
        MsgBox(results)
    End Function
End Class

然后我构建了class,并将.DLL文件添加到项目中,然后添加到数据集中并选择了数据源(奇怪的是我在Available DatasetA中找不到GetTilapia()ZC1C425268E68385D1AB5074FC14Z5074)。

数据集

试图运行但只返回列。

我究竟做错了什么?

通过在我的项目中添加 GetTilapia() function 代码进行修复,然后调用:

ReportViewer1.LocalReport.DataSources.Clear()
Dim rds = New ReportDataSource("DataSet1", GetTilapia())
ReportViewer1.LocalReport.DataSources.Add(rds)
ReportViewer1.RefreshReport()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM